コード例 #1
0
        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);
        }
コード例 #2
0
 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));
     }
 }