Ejemplo n.º 1
0
        public ShoppingCartViewModel AddToShoppingCart(HttpContext context, string productId, int quantity)
        {
            ShoppingCart cart;
            var          id = productId;

            if (SessionExtensions.Get <ShoppingCart>(context.Session, "Cart") == null)
            {
                cart = new ShoppingCart
                {
                    Id = Guid.NewGuid().ToString()
                };

                SessionExtensions.Set(context.Session, "Cart", cart);
            }

            var shoppingCart = SessionExtensions.Get <ShoppingCart>(context.Session, "Cart");



            ICollection <Product> products = shoppingCart.Products;

            var product = this.productRepository.All()
                          .FirstOrDefault(p => p.Id.Equals(id));

            product.Quantity = quantity;
            product.Unit    -= quantity;

            this.productRepository.Update(product);
            this.productRepository.SaveChangesAsync();

            products.Add(product);

            cart = new ShoppingCart
            {
                Id       = shoppingCart.Id,
                Products = products
            };

            SessionExtensions.Set(context.Session, "Cart", cart);

            var model = new ShoppingCartViewModel
            {
                Id       = shoppingCart.Id,
                Products = products,
            };

            return(model);
        }
Ejemplo n.º 2
0
        public ShoppingCartViewModel GetShoppingCart(HttpContext context)
        {
            if (SessionExtensions.Get <ShoppingCart>(context.Session, "Cart") == null)
            {
                var cart = new ShoppingCart
                {
                    Id       = Guid.NewGuid().ToString(),
                    Products = new List <Product>()
                };

                SessionExtensions.Set(context.Session, "Cart", cart);
            }

            var shoppingCart = SessionExtensions.Get <ShoppingCart>(context.Session, "Cart");// == null


            var model = new ShoppingCartViewModel
            {
                Id       = shoppingCart.Id,
                Products = shoppingCart.Products,
            };

            return(model);
        }