示例#1
0
        /// <summary>
        /// Adds a product to the user's cart
        /// </summary>
        /// <param name="cartItem">Product to be added to cart</param>
        /// <returns>Redirect to index</returns>
        public async Task <IActionResult> AddToCart(int id)
        {
            var user = _userManager.GetUserId(User);

            Product product = await _context.GetProduct(id);

            CartItem cartItem = new CartItem();

            cartItem.ProductID = id;

            cartItem.Product = product;

            cartItem.Total = cartItem.Product.Price * cartItem.Quantity;

            var cart = await _cart.GetCart(user);

            cart.GrandTotal = 0;

            var result = await _cart.CreateCartItem(cart, cartItem);

            foreach (CartItem item in cart.CartItems)
            {
                cart.GrandTotal += item.Total;
            }
            return(Redirect(Url.RouteUrl(new { controller = "Shop", action = "Index" }) + "#productsline"));
        }