예제 #1
0
        public ActionResult RemoveItem(CartItemUpdateModel item)
        {
            var cart = mShoppingService.GetCurrentShoppingCart();

            cart.RemoveItem(item.ID);

            return(RedirectToAction("ShoppingCart"));
        }
예제 #2
0
        public ActionResult RemoveItem(CartItemUpdateModel item)
        {
            mShoppingService.RemoveItemFromCart(item.ID);

            var cartViewModel = mCheckoutService.PrepareCartViewModel();

            return(View("ShoppingCart", cartViewModel));
        }
예제 #3
0
        public ActionResult AddItem(CartItemUpdateModel item)
        {
            if (ModelState.IsValid)
            {
                mShoppingService.AddItemToCart(item.SKUID, item.Units);
            }

            return(RedirectToAction("ShoppingCart"));
        }
예제 #4
0
        public ActionResult AddItem(CartItemUpdateModel item)
        {
            if (ModelState.IsValid)
            {
                var cart = mShoppingService.GetCurrentShoppingCart();
                cart.AddItem(item.SKUID, item.Units);
            }

            return(RedirectToAction("ShoppingCart"));
        }
예제 #5
0
        public ActionResult RemoveItem(CartItemUpdateModel item)
        {
            var cart = mShoppingService.GetCurrentShoppingCart();

            cart.RemoveItem(item.ID);
            cart.Evaluate();

            var cartViewModel = mCheckoutService.PrepareCartViewModel(cart.AppliedCouponCodes);

            return(View("ShoppingCart", cartViewModel));
        }
예제 #6
0
        private ActionResult UpdateItem(CartItemUpdateModel item)
        {
            if (ModelState.IsValid)
            {
                shoppingService.UpdateItemQuantity(item.ID, item.Units);
            }

            var cartViewModel = checkoutService.PrepareCartViewModel();

            return(View("ShoppingCart", cartViewModel));
        }
예제 #7
0
        public ActionResult ShoppingCart(CartItemUpdateModel item, string update, string remove)
        {
            if (update != null)
            {
                return(UpdateItem(item));
            }

            if (remove != null)
            {
                return(RemoveItem(item));
            }

            var viewModel = checkoutService.PrepareCartViewModel();

            return(View(viewModel));
        }
예제 #8
0
        public ActionResult UpdateItem(CartItemUpdateModel item)
        {
            if (ModelState.IsValid)
            {
                mShoppingService.UpdateItemQuantity(item.ID, item.Units);
            }
            else
            {
                // Add an item error and save ViewData so that the ShoppingCart action can show validation errors
                var key = item.ID.ToString();
                ModelState.Add(key, ModelState["Units"]);
            }

            var cartViewModel = mCheckoutService.PrepareCartViewModel();

            return(View("ShoppingCart", cartViewModel));
        }
예제 #9
0
        public ActionResult UpdateItem(CartItemUpdateModel item)
        {
            var cart = mShoppingService.GetCurrentShoppingCart();

            if (ModelState.IsValid)
            {
                cart.UpdateQuantity(item.ID, item.Units);
                return(RedirectToAction("ShoppingCart"));
            }

            // Add an item error and save ViewData so that the ShoppingCart action can show validation errors
            var key = item.ID.ToString();

            ModelState.Add(key, ModelState["Units"]);

            CheckoutViewData = ViewData;

            return(RedirectToAction("ShoppingCart"));
        }
예제 #10
0
        public ActionResult UpdateItem(CartItemUpdateModel item)
        {
            var cart = mShoppingService.GetCurrentShoppingCart();

            if (ModelState.IsValid)
            {
                cart.UpdateQuantity(item.ID, item.Units);
                cart.Evaluate();
            }
            else
            {
                // Add an item error and save ViewData so that the ShoppingCart action can show validation errors
                var key = item.ID.ToString();
                ModelState.Add(key, ModelState["Units"]);
            }

            var cartViewModel = mCheckoutService.PrepareCartViewModel(cart.AppliedCouponCodes);

            return(View("ShoppingCart", cartViewModel));
        }
예제 #11
0
        public async Task <IActionResult> UpdateCart(CartItemUpdateModel cartItem)
        {
            var shoppingCartId = this.HttpContext.Session.GetShoppingCartId();

            var toUpdate = this.shoppingCartManager.GetCartItems(shoppingCartId)
                           .SingleOrDefault(x => x.ProductId == cartItem.Id);

            if (toUpdate == null)
            {
                return(NotFound());
            }

            var dbProduct = await this.products.GetSingleOrDefaultAsync(x => x.Id == cartItem.Id);

            if (dbProduct.Stock < cartItem.Quantity)
            {
                Danger(CommonConstants.StockAmountExceededError);
                return(RedirectToAction(nameof(Cart)));
            }

            if (!this.ModelState.IsValid)
            {
                var errorMsg = string.Empty;

                foreach (var modelState in this.ModelState.Values)
                {
                    foreach (var error in modelState.Errors)
                    {
                        errorMsg += error.ErrorMessage + "\n";
                    }
                }

                Danger(errorMsg);
                return(RedirectToAction(nameof(Cart)));
            }

            toUpdate.Quantity = cartItem.Quantity;

            Success(CommonConstants.UpdatedCartItemSuccessfully);
            return(RedirectToAction(nameof(Cart)));
        }