コード例 #1
0
        // GET: /Diary/DecrementProduct
        public ActionResult DecrementProduct(int productId)
        {
            // Init Diary
            List <DiaryVM> diary = Session["diary"] as List <DiaryVM>;

            using (Db db = new Db())
            {
                // Get model from list
                DiaryVM model = diary.FirstOrDefault(x => x.ProductId == productId);

                // Decrement qty
                if (model.Quantity > 1)
                {
                    model.Quantity--;
                }
                else
                {
                    model.Quantity = 0;
                    diary.Remove(model);
                }

                // Store needed data
                var result = new { qty = model.Quantity, Calorie = model.Calorie };

                // Return json
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #2
0
        public ActionResult AddToDiaryPartial(int id)
        {
            // Init diaryVM list
            List <DiaryVM> diary = Session["diary"] as List <DiaryVM> ?? new List <DiaryVM>();

            // Init DiaryVM
            DiaryVM model = new DiaryVM();

            using (Db db = new Db())
            {
                // Get the product
                ProductDTO product = db.Products.Find(id);

                // Check if the product is already in Diary
                var productInDiary = diary.FirstOrDefault(x => x.ProductId == id);

                // If not, add new
                if (productInDiary == null)
                {
                    diary.Add(new DiaryVM()
                    {
                        ProductId   = product.Id,
                        ProductName = product.Name,
                        Quantity    = 1,
                        Calorie     = product.Calorie,
                        Image       = product.ImageName
                    });
                }
                else
                {
                    // If it is, increment
                    productInDiary.Quantity++;
                }
            }

            // Get total qty and Calorie and add to model

            int qty     = 0;
            int calorie = 0;

            foreach (var item in diary)
            {
                qty     += item.Quantity;
                calorie += item.Quantity * item.Calorie;
            }

            model.Quantity = qty;
            model.Calorie  = calorie;

            // Save Diary back to session
            Session["diary"] = diary;

            // Return partial view with model
            return(PartialView(model));
        }
コード例 #3
0
        // GET: /Diary/RemoveProduct
        public void RemoveProduct(int productId)
        {
            // Init Diary list
            List <DiaryVM> diary = Session["diary"] as List <DiaryVM>;

            using (Db db = new Db())
            {
                // Get model from list
                DiaryVM model = diary.FirstOrDefault(x => x.ProductId == productId);

                // Remove model from list
                diary.Remove(model);
            }
        }
コード例 #4
0
        // GET: /Diary/IncrementProduct
        public JsonResult IncrementProduct(int productId)
        {
            // Init Diary list
            List <DiaryVM> diary = Session["diary"] as List <DiaryVM>;

            using (Db db = new Db())
            {
                // Get DiaryVM from list
                DiaryVM model = diary.FirstOrDefault(x => x.ProductId == productId);

                // Increment qty
                model.Quantity++;

                // Store needed data
                var result = new { qty = model.Quantity, calorie = model.Calorie };

                // Return json with data
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #5
0
        public ActionResult DiaryPartial()
        {
            // Init DiaryVM
            DiaryVM model = new DiaryVM();

            // Init quantity
            int qty = 0;

            // Init Calorie
            int calorie = 0;

            // Check for diary session
            if (Session["diary"] != null)
            {
                // Get total qty and Calorie
                var list = (List <DiaryVM>)Session["diary"];

                foreach (var item in list)
                {
                    qty     += item.Quantity;
                    calorie += item.Quantity * item.Calorie;
                }

                model.Quantity = qty;
                model.Calorie  = calorie;
            }
            else
            {
                // Or set qty and Calorie to 0
                model.Quantity = 0;
                model.Calorie  = 0;
            }

            // Return partial view with model
            return(PartialView(model));
        }