Esempio n. 1
0
        public ActionResult CartSummary()
        {
            var shoppingCart = ShoppingCartFinder.FindShoppingCart();

            ViewData["CartCount"] = shoppingCart.Lines.Count;

            return(PartialView("CartSummary"));
        }
Esempio n. 2
0
        //
        // GET: /Store/AddToCart/5

        public ActionResult AddToCart(string id)
        {
            var shoppingCart = ShoppingCartFinder.FindShoppingCart();

            shoppingCart.AddToCart(session.Load <Album>(id));
            session.SaveChanges();

            // Go back to the main store page for more shopping
            return(RedirectToAction("Index"));
        }
Esempio n. 3
0
        //
        // GET: /ShoppingCart/

        public ActionResult Index()
        {
            var cart = ShoppingCartFinder.FindShoppingCart();

            // Set up our ViewModel
            var viewModel = new ShoppingCartViewModel
            {
                CartItems = cart.Lines,
                CartTotal = cart.Lines.Count
            };

            // Return the view
            return(View(viewModel));
        }
Esempio n. 4
0
        private void MigrateShoppingCart(string UserName)
        {
            // Associate shopping cart items with logged-in user
            var cart = ShoppingCartFinder.FindShoppingCart();
            var newShoppingCartId = ShoppingCartFinder.SetShoppingCartId(UserName);

            if (cart.Id == newShoppingCartId)
            {
                return;// already migrated
            }
            var newCart = cart.MigrateCart(newShoppingCartId);

            session.Delete(cart);
            session.Store(newCart);
            session.SaveChanges();
        }
        public ActionResult AddressAndPayment(FormCollection values)
        {
            var order = new Order();

            TryUpdateModel(order);

            try
            {
                if (string.Equals(values["PromoCode"], PromoCode,
                                  StringComparison.OrdinalIgnoreCase) == false)
                {
                    return(View(order));
                }

                order.Username  = User.Identity.Name;
                order.OrderDate = DateTime.Now;

                //Process the order
                var cart = ShoppingCartFinder.FindShoppingCart();
                cart.CreateOrder(order);

                var soldAlbums = session.Load <Album>(order.Lines.Select(x => x.Album.Id).ToArray());
                foreach (var soldAlbum in soldAlbums)
                {
                    soldAlbum.CountSold++;
                }

                session.Store(order);
                session.SaveChanges();

                return(RedirectToAction("Complete",
                                        new { id = order.Id }));
            }
            catch
            {
                //Invalid - redisplay with errors
                return(View(order));
            }
        }
Esempio n. 6
0
        public ActionResult RemoveFromCart(string id)
        {
            // Remove the item from the cart
            var    shoppingCart = ShoppingCartFinder.FindShoppingCart();
            string title        = shoppingCart.RemoveFromCart(id);

            session.SaveChanges();

            string message = title == null
                          ? "The album was not found in your shopping cart."
                          : Server.HtmlEncode(title) + " has been removed from your shopping cart.";

            // Display the confirmation message

            return(Json(new ShoppingCartRemoveViewModel
            {
                Message = message,
                CartTotal = shoppingCart.Total,
                CartCount = shoppingCart.Lines.Count,
                DeleteId = id.Split('/').Last()
            }));
        }