public ViewResult Index(Cart cart, string returnUrl)
 {
     Debug.WriteLine(returnUrl);
     return View(new CartIndexViewModel
     {
         Cart = cart,
         ReturnUrl = returnUrl
     });
 }
 public RedirectToRouteResult AddToCart(Cart cart, int id, string returnUrl)
 {
     BookModel book = _onlineBookStoreService.GetBookById(new GetBookByIdRequest() { BookId = id }).Book.MapTo<BookModel>();
     if (book.Id != 0)
     {
         cart.AddItem(book, 1);
     }
     return RedirectToAction(eAction.Index, new { returnUrl });
 }
 public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
 {
     Cart cart = (Cart)controllerContext.HttpContext.Session[sessionKey];
     if (cart == null)
     {
         cart = new Cart();
         controllerContext.HttpContext.Session[sessionKey] = cart;
     }
     return cart;
 }
        public ViewResult Checkout(Cart cart, ShippingDetailsModel shippingDetail)
        {
            if (cart.Lines.Count() == 0)
            {
                ModelState.AddModelError("", "Sorry, but your cart is empty...");
            }
            if (ModelState.IsValid)
            {
                OrderModel model = cart.BindToOrder(shippingDetail);
                _onlineBookStoreService.SaveOrder(new SaveOrderRequest() { OrderVO = model.MapTo<OrderVO>() });
                cart.Clear();

                return View("Completed");
            }
            else
            {
                //throw new Exception("Test error");
                return View(new ShippingDetailsModel());
            }
        }
 public PartialViewResult CartSummary(Cart cart)
 {
     return PartialView(cart);
 }