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)); } }
public ViewResult Index(CartSVCClient cart, string returnUrl) { return(View(new CartIndexViewModel { Cart = cart, ReturnUrl = returnUrl })); }
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 })); }
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 })); }
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); }
public int ComputeTotalQuantity(CartSVCClient cart) { return(cart.ComputeTotalQuantity()); }