public ShoppingCart ChangeQuantity(ShoppingCartUpdateDto dto) { var cart = repository.context.ShoppingCarts .Include(x => x.Items) .ThenInclude(y => y.Book) .FirstOrDefault(x => x.Id == dto.cartId); var quantityInStock = cart.Items.Where(x => x.Id == dto.cartItemId).FirstOrDefault().Book.QuantityInStock; if (quantityInStock < dto.quantity) { return(null); } cart.UpdateItem(dto.cartItemId, dto.quantity); repository.context.SaveChanges(); return(cart); }
public ActionResult <ShoppingCart> Update([FromBody] ShoppingCartUpdateDto ShoppingCartUpdateDto) { try { var cart = service.ChangeQuantity(ShoppingCartUpdateDto); if (cart == null) { return(BadRequest("Out of quantity in stock")); } return(cart); } catch (Exception error) { return(Conflict(error.Message)); } }