public RedirectToRouteResult AddToCart(Cart cart, int ID, string returnUrl) { TypeServices game = repository.Services .FirstOrDefault(g => g.ID == ID); if (game != null) { cart.AddItem(game, 1); } return RedirectToAction("Index", new { returnUrl }); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { // Получить объект Cart из сеанса Cart cart = null; if (controllerContext.HttpContext.Session != null) { cart = (Cart)controllerContext.HttpContext.Session[sessionKey]; } // Создать объект Cart если он не обнаружен в сеансе if (cart == null) { cart = new Cart(); if (controllerContext.HttpContext.Session != null) { controllerContext.HttpContext.Session[sessionKey] = cart; } } // Возвратить объект Cart return cart; }
public ActionResult Checkout(Cart cart, ShippingView shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Извините, ваша корзина пуста!"); } if (ModelState.IsValid) { foreach (var line in cart.Lines) { ShippingDetails sd = new ShippingDetails(); var subtotal = line.Order.Price * line.Quantity; sd.OrderID = line.Order.ID; sd.Line1 = shippingDetails.Line1; sd.Line2 = shippingDetails.Line2; sd.Name = shippingDetails.Name; sd.City = shippingDetails.City; sd.Country = shippingDetails.Country; sd.Count = line.Quantity; repository.CreateDetails(sd); } cart.Clear(); return RedirectToAction("Index", "Home"); } else { return View(shippingDetails); } }
public RedirectToRouteResult RemoveFromCart(Cart cart, int ID, string returnUrl) { TypeServices game = repository.Services .FirstOrDefault(g => g.ID == ID); if (game != null) { cart.RemoveLine(game); } return RedirectToAction("Index", new { returnUrl }); }
public ViewResult Index(Cart cart, string returnUrl) { return View(new CartIndexViewModel { Cart = cart, ReturnUrl = returnUrl }); }
public PartialViewResult Summary(Cart cart) { return PartialView(cart); }