Beispiel #1
0
        // FOR CREATING AND UPDATING SHOPPING CART ITEMS
        public void AddCartItem(string sessionID, Product product, int?quantity)
        {
            // need to update the expiry date of the session aswell?
            // maybe sliding does this by default
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            ProductVisit item = db.ProductVisits
                                .Where(pv => pv.productID == product.productID && pv.sessionID == sessionID)
                                .FirstOrDefault();

            if (item == null) // if null make one
            {
                ProductVisit cartItem = new ProductVisit();
                cartItem.sessionID  = sessionID;         // primary
                cartItem.productID  = product.productID; // primary
                cartItem.qtyOrdered = quantity;
                cartItem.updated    = DateTime.Now;

                db.ProductVisits.Add(cartItem);
                db.SaveChanges();
            }
            else // otherwise update quantity and updated
            {
                item.qtyOrdered = quantity;
                item.updated    = DateTime.Now;
                db.SaveChanges();
            }
        }
Beispiel #2
0
        // used to get all cart items in DB regardless of session
        public IEnumerable <ProductVisit> GetAll()
        {
            MC_ShoppingCartEntities    db  = new MC_ShoppingCartEntities();
            IEnumerable <ProductVisit> pvs = db.ProductVisits.ToList();

            return(pvs);
        }
Beispiel #3
0
        // used to get a cart item from DB, not in use
        public ProductVisit GetProductVisit(string sessionID)
        {
            MC_ShoppingCartEntities db          = new MC_ShoppingCartEntities();
            ProductVisit            sessionData = db.ProductVisits.Where(pv => pv.sessionID == sessionID).FirstOrDefault();

            return(sessionData);
        }
Beispiel #4
0
        public IEnumerable <Visit> GetAll()
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();
            var visits = db.Visits.ToList();

            return(visits);
        }
Beispiel #5
0
        public IEnumerable <Product> GetAll()
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            var products = db.Products.ToList();

            return(products);
        }
Beispiel #6
0
        public Visit GetVisit(string sessionID)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            Visit visit = db.Visits.Where(v => v.sessionID == sessionID).FirstOrDefault();

            return(visit);
        }
Beispiel #7
0
        public Product GetProduct(int?id)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            var product = db.Products.Where(p => p.productID == id).FirstOrDefault();

            return(product);
        }
Beispiel #8
0
        /// <summary>
        ///  Returns a list of items product visits with  a certain sessionID
        /// </summary>
        /// <param name="sessionID"></param>
        /// <returns></returns>
        public IEnumerable <ProductVisit> GetCartItems(string sessionID)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();
            // get all cart items from the database
            IEnumerable <ProductVisit> carItems = db.ProductVisits.Where(pv => pv.sessionID == sessionID).Select(pv => pv);

            // how to get price aswell?
            return(carItems);
        }
Beispiel #9
0
        public ProductVisit GetCartItem(string sessionID, int productID)
        {
            MC_ShoppingCartEntities db       = new MC_ShoppingCartEntities();
            ProductVisit            cartItem = db.ProductVisits
                                               .Where(pv => pv.sessionID == sessionID && pv.productID == productID)
                                               .FirstOrDefault();

            return(cartItem);
        }
Beispiel #10
0
        public void RemoveVisit(string sessionID)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();
            Visit visit = db.Visits.Where(v => v.sessionID == sessionID).FirstOrDefault();

            if (visit != null)
            {
                db.Visits.Remove(visit);
                db.SaveChanges();
            }
        }
Beispiel #11
0
        public void CreateExpiredVisit(string sessionID)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            Visit visit = new Visit();

            visit.sessionID = sessionID + "-expired";
            visit.started   = DateTime.Now.AddHours(-2);

            db.Visits.Add(visit);
            db.SaveChanges();
        }
Beispiel #12
0
        // used when click remove button
        // need to pass session and product ID
        // this is causing error when called from session start and there is not any data yet
        public void RemoveProductVisit(string sessionID, int productID)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            ProductVisit productVisit = db.ProductVisits.Where(pv => pv.sessionID == sessionID && pv.productID == productID).FirstOrDefault();

            if (productVisit != null)
            {
                db.ProductVisits.Remove(productVisit);
                db.SaveChanges();
            }
        }
Beispiel #13
0
        public Visit CreateVisit(string sessionID)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            Visit visit = new Visit();

            visit.sessionID = sessionID;
            visit.started   = DateTime.Now;

            db.Visits.Add(visit);
            db.SaveChanges();
            return(visit);
        }
Beispiel #14
0
        // used for testing
        public void CreateExpiredProductVisit(string sessionID)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            ProductVisit pv = new ProductVisit();

            pv.sessionID = sessionID + "-expired"; // primary
            pv.productID = 107;                    // primary
            pv.updated   = DateTime.Now.AddHours(-2);

            db.ProductVisits.Add(pv);
            db.SaveChanges();
        }
Beispiel #15
0
        public void RemoveVisits()
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();
            IEnumerable <Visit>     vs = db.Visits.ToList();

            foreach (Visit v in vs)
            {
                if (v.started.Value < DateTime.Now.AddHours(-1))
                {
                    db.Visits.Remove(v);
                }
            }
            db.SaveChanges();
        }
Beispiel #16
0
        // used for testing
        public ProductVisit CreateProductVisit(string sessionID)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            ProductVisit pv = new ProductVisit();

            pv.sessionID = sessionID; // primary
            pv.productID = 107;       // primary
            pv.updated   = DateTime.Now;

            db.ProductVisits.Add(pv);
            db.SaveChanges();
            return(pv);
        }
Beispiel #17
0
        // this is causing error when called from session start and there is not any data yet
        // used by cacnel order button only called when there is product visits
        public void RemoveProductVisits(string sessionID)
        {
            MC_ShoppingCartEntities    db  = new MC_ShoppingCartEntities();
            IEnumerable <ProductVisit> pvs = db.ProductVisits.Where(pv => pv.sessionID == sessionID).ToList();

            if (pvs != null) // if any entries in product visit
            {
                foreach (ProductVisit pv in pvs)
                {
                    db.ProductVisits.Remove(pv); // remove ones with current sessioID
                }
                db.SaveChanges();
            }
        }
        public ProductVM GetProductVM(int?id)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            ProductVM product = db.Products.Where(p => p.productID == id)
                                .Select(p => new ProductVM
            {
                productID   = p.productID,
                productName = p.productName,
                price       = p.price,
                quantity    = null
            }).FirstOrDefault();

            return(product);
        }
Beispiel #19
0
        // used in session start
        public void RemoveExpiredProductVisits()
        {
            MC_ShoppingCartEntities    db  = new MC_ShoppingCartEntities();
            IEnumerable <ProductVisit> pvs = db.ProductVisits.ToList();

            if (pvs != null) // if there are old product visits
            {
                foreach (ProductVisit pv in pvs)
                {
                    if (pv.updated.Value < DateTime.Now.AddHours(-1)) // remove the old ones
                    {
                        db.ProductVisits.Remove(pv);
                    }
                }
                db.SaveChanges();
            }
        }
        public IEnumerable <ProductVM> GetAll(string sortOrder, string searchString)
        {
            MC_ShoppingCartEntities db = new MC_ShoppingCartEntities();

            IEnumerable <ProductVM> products = db.Products.Select(p => new ProductVM
            {
                productID   = p.productID,
                productName = p.productName,
                price       = p.price,
                quantity    = null,
                image       = p.Image.imageTitle
            });

            products = SortProducts(products, sortOrder);
            products = FilterProducts(products, searchString);

            return(products);
        }