示例#1
0
        public ActionResult AddToCart(string sku)
        {
            var product             = _getProducts.GetBySku(sku);
            var cartList            = _getCart.Get(Identity.LoggedInUserId);
            var existingcartItemDTO = cartList.CartItems.FirstOrDefault(ci => ci.ProductId == product.Id);

            if (existingcartItemDTO != null)
            {
                var cartItem = _getCartItem.GetById(existingcartItemDTO.Id);
                cartItem.Quantity++;
                _saveCartItem.Save(cartItem);
            }
            else
            {
                _saveCartItem.Save(new CartItem
                {
                    CustomerId = Identity.LoggedInUserId,
                    Quantity   = 1,
                    ProductId  = product.Id
                });
            }

            return(RedirectToAction("Index", "Home"));
        }
示例#2
0
        public CartDTO Post([FromBody] CartItemDTO value)
        {
            var cart        = _getCart.Get(Identity.LoggedInUserId);
            var cartItemDTO = cart.CartItems.FirstOrDefault(i => i.SKU == value.SKU);

            if (cartItemDTO != null)
            {
                cartItemDTO.Quantity = value.Quantity;
                _saveCart.Save(cartItemDTO.ToCartItem());
                if (cartItemDTO.Quantity == 0)
                {
                    _saveCart.Remove(cartItemDTO.ToCartItem());
                }

                var recalculatedCart = _getCart.Get(Identity.LoggedInUserId);
                return(recalculatedCart);
            }
            else
            {
                return(cart);
            }
        }