// // 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)); }
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)); }
// // 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)); }
// 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); }