コード例 #1
0
        public async Task <ActionResult> Checkout(CartSVCClient cart, ShippingDetailsViewModel shippingDetails)
        {
            if (cart.Lines().Count() == 0)
            {
                ModelState.AddModelError("", "Извините, ваша корзина пуста!");
            }

            if (ModelState.IsValid)
            {
                var mapper             = new MapperConfiguration(cfg => cfg.CreateMap <ShippingDetailsViewModel, ShippingDetailsDTO>()).CreateMapper();
                var shippingDetailsDTO = mapper.Map <ShippingDetailsViewModel, ShippingDetailsDTO>(shippingDetails);

                CartLineDTO[] cartLines = cart.Lines();

                await orderProcessorService.ProcessOrderAsync(cartLines, shippingDetailsDTO);

                cart.Clear();

                return(View("Completed"));
            }
            else
            {
                return(View(shippingDetails));
            }
        }
コード例 #2
0
 public ViewResult Index(CartSVCClient cart, string returnUrl)
 {
     return(View(new CartIndexViewModel
     {
         Cart = cart,
         ReturnUrl = returnUrl
     }));
 }
コード例 #3
0
        public RedirectToRouteResult RemoveFromCart(CartSVCClient cart, int productId, string returnUrl)
        {
            var productDTO = productService.GetProduct(productId);

            if (productDTO != null)
            {
                cart.RemoveLine(productDTO);
            }
            return(RedirectToAction("Index", new { returnUrl }));
        }
コード例 #4
0
        public RedirectToRouteResult SubstractItemCart(CartSVCClient cart, int productId, string returnUrl)
        {
            var productDTO = productService.GetProduct(productId);

            if (productDTO != null)
            {
                cart.SubstractQtyItem(productDTO, 1);
            }
            return(RedirectToAction("Index", new { returnUrl }));
        }
コード例 #5
0
        public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            CartSVCClient cart = null;

            if (controllerContext.HttpContext.Session != null)
            {
                cart = (CartSVCClient)controllerContext.HttpContext.Session[sessionKey];
            }

            if (cart == null)
            {
                cart = new CartSVCClient();
                if (controllerContext.HttpContext.Session != null)
                {
                    controllerContext.HttpContext.Session[sessionKey] = cart;
                }
            }

            return(cart);
        }
コード例 #6
0
 public int ComputeTotalQuantity(CartSVCClient cart)
 {
     return(cart.ComputeTotalQuantity());
 }