Exemple #1
0
        public static List <Product> getdetails()
        {
            CTXEntities    _ctx     = new CTXEntities();
            List <Product> products = _ctx.Products.OrderBy(p => p.Category).ToList <Product>();

            foreach (Product p in products)
            {
                int?sum     = 0;
                int?average = 0;
                if (p.CustomerComments.Count > 0)
                {
                    foreach (CustomerComment r in p.CustomerComments)
                    {
                        sum += r.Rating;
                    }
                    if (sum > 0)
                    {
                        average = sum / p.CustomerComments.Count;
                    }
                }
                p.Average = average;
            }
            products = products.OrderByDescending(x => x.Average).ToList <Product>();

            return(products);
        }
        public JsonResult UpdateTotal()
        {
            CTXEntities context = new CTXEntities();
            decimal     total;

            try
            {
                total = context.ShoppingCartDatas.Select(p => p.UnitPrice * p.Quantity).Sum();
            }
            catch (Exception) { total = 0; }

            return(Json(new { d = String.Format("{0:c}", total) }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult QuanityChange(int type, int pId)
        {
            CTXEntities context = new CTXEntities();

            ShoppingCartData product = context.ShoppingCartDatas.FirstOrDefault(p => p.PID == pId);

            if (product == null)
            {
                return(Json(new { d = "0" }));
            }

            Product actualProduct = context.Products.FirstOrDefault(p => p.PID == pId);
            int     quantity;

            // if type 0, decrease quantity
            // if type 1, increase quanity
            switch (type)
            {
            case 0:
                product.Quantity--;
                actualProduct.UnitsInStock++;
                break;

            case 1:
                product.Quantity++;
                actualProduct.UnitsInStock--;
                break;

            case -1:
                actualProduct.UnitsInStock += product.Quantity;
                product.Quantity            = 0;
                break;

            default:
                return(Json(new { d = "0" }));
            }

            if (product.Quantity == 0)
            {
                context.ShoppingCartDatas.Remove(product);
                quantity = 0;
            }
            else
            {
                quantity = product.Quantity;
            }

            context.SaveChanges();
            return(Json(new { d = quantity }));
        }