public IEnumerable<ProductVisit> getProductVisit(string sessionId) { ShoppingCartEntities db = new ShoppingCartEntities(); var prodVisit = db.ProductVisits .Where(pv => pv.sessionID == sessionId); return prodVisit; }
public void removeOldVisits(DateTime now) { ShoppingCartEntities db = new ShoppingCartEntities(); var prodVisits = db.ProductVisits; DateTime oneHourAgo = DateTime.Now.AddHours(-1); List<ProductVisit> oldProdVisits = db.ProductVisits.Where(pv => DateTime.Compare((DateTime)pv.updated, oneHourAgo) < 0 ).ToList(); //Remove from Visit and ProductVisit sessions that are older than 1 hour foreach (var pv in oldProdVisits) { var prodVisit = db.ProductVisits.Where(prodv => prodv.sessionID == pv.sessionID).FirstOrDefault(); if (prodVisit != null) { db.ProductVisits.Remove(prodVisit); var visit = db.Visits.Where(v => v.sessionID == prodVisit.sessionID).FirstOrDefault(); if (visit != null) { db.Visits.Remove(visit); } } } //Remove Visits that are older than 1 hour (sessions that didn't add anything to a cart) var Visits = db.Visits; List<Visit> oldVisits = db.Visits.Where(v => DateTime.Compare((DateTime)v.started, oneHourAgo) < 0).ToList(); if (oldVisits.Count() > 0) { db.Visits.RemoveRange(oldVisits); } db.SaveChanges(); }
public Visit getVisit(string id) { ShoppingCartEntities db = new ShoppingCartEntities(); Visit visit = db.Visits .Where(v => v.sessionID == id) .FirstOrDefault(); return visit; }
public ActionResult AddProduct(int id) { ProductRepo products = new ProductRepo(); ShoppingCartEntities db = new ShoppingCartEntities(); SessionHelper session = new SessionHelper(); var prodVisit = db.ProductVisits.Where(pv => pv.productID == id && pv.sessionID == session.SessionID).FirstOrDefault(); ViewBag.Qty = (prodVisit != null) ? prodVisit.qtyOrdered : 1; return View(products.GetProduct(id)); }
public void removeProductVisit(string sessionId) { ShoppingCartEntities db = new ShoppingCartEntities(); var prodVisit = (from pv in db.ProductVisits where pv.sessionID == sessionId select pv); if (prodVisit.Count() > 0) { db.ProductVisits.RemoveRange(prodVisit); db.SaveChanges(); } }
public ActionResult MyCart() { ShoppingCartEntities db = new ShoppingCartEntities(); SessionHelper session = new SessionHelper(); //string id = session.SessionID; CartItemRepo cir = new CartItemRepo(); return View(cir.GetCartItemsByUser(User.Identity.Name)); }
public ActionResult MyCart() { ShoppingCartEntities db = new ShoppingCartEntities(); SessionHelper session = new SessionHelper(); string id = session.SessionID; CartItemRepo cir = new CartItemRepo(); return View(cir.GetCartItemsBySession(id)); }
public void removeVisit(string id) { ShoppingCartEntities db = new ShoppingCartEntities(); var visit = (from v in db.Visits where v.sessionID == id select v).FirstOrDefault(); if ((from vis in db.Visits where vis.sessionID == id select vis).Count() > 0) { var productVisits = db.ProductVisits.Where(pv => pv.sessionID == visit.sessionID); db.ProductVisits.RemoveRange(productVisits); db.Visits.Remove(visit); db.SaveChanges(); } }
public void addVisit(string id, DateTime start) { ShoppingCartEntities db = new ShoppingCartEntities(); Visit visit = new Visit(); var prevVisit = db.Visits.SingleOrDefault(v => v.sessionID == id); if (prevVisit == null) { visit.sessionID = id; visit.started = start; db.Visits.Add(visit); db.SaveChanges(); } }
public ActionResult Add(int id) { if (TempData["error"] != null) { ViewBag.Error = TempData["error"].ToString(); } CartProductRepo products = new CartProductRepo(); ShoppingCartEntities db = new ShoppingCartEntities(); SessionHelper session = new SessionHelper(); //Stores qty of product added in the cart for display in the view var prodVisit = db.ProductVisits.Where(pv => pv.productID == id && pv.sessionID == session.SessionID).FirstOrDefault(); ViewBag.Qty = (prodVisit != null) ? prodVisit.qtyOrdered : 1; return View(products.getProduct(id)); }
public IEnumerable<CartItemVM> GetCartItemsBySession(string sessionId) { ShoppingCartEntities db = new ShoppingCartEntities(); IEnumerable<CartItemVM> cartItems = from p in db.CartProducts from pv in db.ProductVisits where p.productID == pv.productID && pv.sessionID == sessionId select new CartItemVM() { ProductID = p.productID, Name = p.productName, Qty = (int)pv.qtyOrdered, Price = (decimal)p.price, CartItemTotal = (decimal)(pv.qtyOrdered * p.price) }; return cartItems; }
public ActionResult ViewCart(int productId, int qty) { if (qty < 1) { TempData["error"] = "A positive quantity must be used"; return RedirectToAction("Add", "Cart", new { id = productId }); } ShoppingCartEntities db = new ShoppingCartEntities(); SessionHelper session = new SessionHelper(); string id = session.SessionID; ProductVisitRepo pvRepo = new ProductVisitRepo(); pvRepo.addProductVisit(id, productId, qty, DateTime.Now); return RedirectToAction("MyCart", "Cart"); }
public IEnumerable<CartItemVM> GetCartItemsByUser(string username) { FarmSaleDBEntities1 farmDB = new FarmSaleDBEntities1(); var products = farmDB.Products.AsEnumerable(); ShoppingCartEntities db = new ShoppingCartEntities(); IEnumerable<CartItemVM> cartItems = from p in products from pv in db.ProductVisits where p.productID == pv.productID && pv.username == username select new CartItemVM() { ProductID = p.productID, Name = p.productName, Qty = (int)pv.qtyOrdered, Price = (decimal)p.priceInKg, CartItemTotal = (decimal)(pv.qtyOrdered * p.priceInKg) }; return cartItems; }
//Updates a productVisit entry if it already exists. Creates a new one otherwise public void addProductVisit(string sessionId, int productId, int qty, DateTime lastUpdated) { ShoppingCartEntities db = new ShoppingCartEntities(); int productVisit = db.ProductVisits .Where(prodVisit => prodVisit.sessionID == sessionId && prodVisit.productID == productId).Count(); if (productVisit > 0) { var prodVisit = db.ProductVisits .Where(prVisit => prVisit.sessionID == sessionId && prVisit.productID == productId).First(); db.ProductVisits.Remove(prodVisit); db.SaveChanges(); } ProductVisit pv = new ProductVisit(); pv.sessionID = sessionId; pv.productID = productId; pv.qtyOrdered = qty; pv.updated = lastUpdated; db.ProductVisits.Add(pv); db.SaveChanges(); }
public CartProduct getProduct(int id) { ShoppingCartEntities db = new ShoppingCartEntities(); CartProduct product = db.CartProducts.Where(p => p.productID == id).FirstOrDefault(); return product; }
public IEnumerable<Visit> ShowVisits() { ShoppingCartEntities db = new ShoppingCartEntities(); return db.Visits.ToList(); }
public IEnumerable<CartProduct> ShowProducts() { ShoppingCartEntities db = new ShoppingCartEntities(); return db.CartProducts.ToList(); }