Ejemplo n.º 1
0
        //
        // GET: /Cart/Basket/
        public ActionResult Basket()
        {
            string        visitorId   = session.getUser(HttpContext.Session);
            List <Basket> basketItems = store.GetBasketProducts(db, session, visitorId);

            ViewBag.CartCounter = basketItems.Sum(b => b.Quantity);

            List <Product> myBasketProducts = new List <Product>();

            foreach (var item in basketItems)
            {
                Product product = store.GetProduct(item.ProductId);
                product.Quantity = basketItems.Where(p => p.ProductId == item.ProductId).Sum(b => b.Quantity);
                myBasketProducts.Add(product);
            }

            BasketSession basket = new BasketSession(myBasketProducts);

            return(View(basket));
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            string visitorId = session.getUser(HttpContext.Session);

            List <Basket> basketItems = store.GetBasketItems(visitorId, db);

            ViewBag.CartCounter = basketItems.Sum(b => b.Quantity);

            List <Product> products = store.GetAllProducts();

            Page page = new Page
            {
                Products = products.Take(Constants.PRODUCTS_PER_PAGE).ToList(),
                CountAll = Paging.CountAllPages(products.Count) // count pages
            };

            return(View(page));
        }
Ejemplo n.º 3
0
        //
        // GET: /Product/

        public ActionResult Index(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(RedirectToAction("NotFound", "Home"));
            }

            string visitorId = session.getUser(HttpContext.Session);

            List <Basket> basketItems = store.GetBasketItems(visitorId, db);

            ViewBag.CartCounter = basketItems.Sum(b => b.Quantity);

            Product product = store.GetProduct(id);

            if (product == null)
            {
                return(RedirectToAction("NotFound", "Home"));
            }

            return(View(product));
        }
Ejemplo n.º 4
0
        // GET api/<controller>/Add/5
        public ProductSummary Post([FromBody] ProductAdd product)
        {
            int            qty       = product.quantity;
            string         productId = product.productId;
            ProductSummary summary   = new ProductSummary
            {
                Status = false
            };

            if (string.IsNullOrEmpty(productId))
            {
                return(summary);
            }

            if (qty < 1)
            {
                return(summary);
            }

            HttpContextBase abstractContext = new System.Web.HttpContextWrapper(HttpContext.Current);
            string          visitorId       = session.getUser(abstractContext.Session);

            Basket existingItem = db.Baskets.Where(b => b.VisitorId == visitorId && b.ProductId == productId).FirstOrDefault();

            if (existingItem != null)
            {
                existingItem.Quantity += qty;
                try
                {
                    db.Entry(existingItem).State = EntityState.Modified;
                    db.SaveChanges();
                }
                catch (Exception)
                {
                    return(summary);
                }
            }
            else
            {
                Basket basket = new Basket
                {
                    BasketId    = Guid.NewGuid(),
                    VisitorId   = visitorId,
                    Quantity    = qty,
                    ProductId   = productId,
                    CreatedDate = DateTime.UtcNow
                };
                try
                {
                    db.Baskets.Add(basket);
                    db.SaveChanges();
                }
                catch (Exception)
                {
                    return(summary);
                }
            }

            List <Basket> basketItems = store.GetBasketItems(visitorId, db);
            int           countItems  = basketItems.Sum(a => a.Quantity);

            summary.Status   = true;
            summary.Quantity = countItems;

            return(summary);
        }