added ability to archive seller services

This commit is contained in:
Damien Ostler 2024-01-28 20:45:56 -05:00
parent c264397edf
commit 82f24497b0
4 changed files with 10 additions and 5 deletions

View File

@ -53,7 +53,7 @@ public class DiscoveryController : Controller
return NotFound("Seller not found.");
var sellerServices = await _dbContext.SellerServices
.Include(x=>x.Reviews)
.Where(x=>x.SellerProfileId==sellerId)
.Where(x=>x.SellerProfileId==sellerId && !x.Archived)
.Skip(offset).Take(pageSize).ToListAsync();
var result = sellerServices.Select(x=>x.ToModel()).ToList();
return Ok(result);
@ -70,7 +70,7 @@ public class DiscoveryController : Controller
return NotFound("Seller not found.");
var sellerServices = await _dbContext.SellerServices
.Include(x=>x.Reviews)
.Where(x=>x.SellerProfileId==sellerId)
.Where(x=>x.SellerProfileId==sellerId && !x.Archived)
.ToListAsync();
var result = sellerServices.Count;
return Ok(result);

View File

@ -117,6 +117,9 @@ public class OrderController : Controller
if(service==null)
return NotFound("Service not found.");
if(service.Archived)
return BadRequest("Service is archived.");
if(_dbContext.SellerServiceOrders.Where(x=>x.BuyerId==userId && x.Status!=EnumOrderStatus.Completed && x.Status!=EnumOrderStatus.Cancelled).Count()>=3)
return BadRequest("You already have an order in progress. There is a limit of three at a time.");

View File

@ -36,7 +36,7 @@ public class SellerServiceController : Controller
if(seller==null)
return BadRequest("Account is not a seller.");
var sellerServices = await _dbContext.SellerServices.Include(x=>x.Reviews)
var sellerServices = await _dbContext.SellerServices.Where(x=>x.Archived==false).Include(x=>x.Reviews)
.Skip(offset).Take(pageSize).ToListAsync();
var result = sellerServices.Select(x=>x.ToModel()).ToList();
return Ok(result);
@ -53,7 +53,7 @@ public class SellerServiceController : Controller
if(seller==null)
return BadRequest("Account is not a seller.");
var sellerServices = await _dbContext.SellerServices.Include(x => x.Reviews).ToListAsync();
var sellerServices = await _dbContext.SellerServices.Where(x=>x.Archived==false).Include(x => x.Reviews).ToListAsync();
var result = sellerServices.Count;
return Ok(result);
}
@ -129,7 +129,8 @@ public class SellerServiceController : Controller
if(sellerService==null)
return NotFound("Seller service not found.");
_dbContext.SellerServices.Remove(sellerService);
sellerService.Archived = true;
_dbContext.SellerServices.Update(sellerService);
await _dbContext.SaveChangesAsync();
return Ok();
}

View File

@ -7,6 +7,7 @@ public class SellerService
public string Name { get; set; } = null!;
public string Description { get; set; } = null!;
public double Price { get; set; }
public bool Archived { get; set; } = false;
public virtual ICollection<SellerProfilePortfolioPiece> PortfolioPieces { get; set; } = new List<SellerProfilePortfolioPiece>();
public virtual ICollection<SellerServiceOrderReview> Reviews { get; set; } = new List<SellerServiceOrderReview>();