public IEnumerable<ProductVisit> getProductVisit(string sessionId)
 {
     ShoppingCartEntities db = new ShoppingCartEntities();
     var prodVisit = db.ProductVisits
         .Where(pv => pv.sessionID == sessionId);
     return prodVisit;
 }
Example #2
0
 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();
 }
Example #3
0
 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));
        }
Example #8
0
 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();
     }
 }
Example #9
0
 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");
        }
Example #13
0
        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;
 }
Example #16
0
 public IEnumerable<Visit> ShowVisits()
 {
     ShoppingCartEntities db = new ShoppingCartEntities();
     return db.Visits.ToList();
 }
 public IEnumerable<CartProduct> ShowProducts()
 {
     ShoppingCartEntities db = new ShoppingCartEntities();
     return db.CartProducts.ToList();
 }