예제 #1
0
        public async Task <int> RemoveFromCart(Sneaker sneakers)
        {
            var shoppingCartItem = await context.ShoppingCartItems.SingleOrDefaultAsync(
                s => s.Sneaker.Id == sneakers.Id &&
                s.ShoppingCartId == ShoppingCartId);

            var localQuantity = 0;

            if (shoppingCartItem != null)
            {
                if (shoppingCartItem.Quantity > 1)
                {
                    shoppingCartItem.Quantity--;
                    localQuantity = shoppingCartItem.Quantity;
                }
                else
                {
                    context.ShoppingCartItems.Remove(shoppingCartItem);
                }
            }

            await context.SaveChangesAsync();

            return(localQuantity);
        }
예제 #2
0
        public void AddToCart(Sneaker sneakers, int quantity)
        {
            var shoppingCartItem = context.ShoppingCartItems.SingleOrDefault(
                s => s.Sneaker.Id == sneakers.Id &&
                s.ShoppingCartId == ShoppingCartId);

            if (shoppingCartItem == null)
            {
                shoppingCartItem = new CartItem
                {
                    ShoppingCartId = ShoppingCartId,
                    Sneaker        = sneakers,
                    Quantity       = 1
                };
                context.ShoppingCartItems.Add(shoppingCartItem);
            }
            else
            {
                shoppingCartItem.Quantity++;
            }

            context.SaveChanges();
        }