示例#1
0
        public ActionResult EditCalorieItem([Bind(Include = "CalorieItemIntakeId, CalorieItemId, DailyCalorieCountId,Quantity")] CalorieItemIntake item)
        {
            if (ModelState.IsValid)
            {
                DailyCalorieCount dcc = db.DailyCalorieCounts.Find(item.DailyCalorieCountId);

                CalorieItemIntake ocu = db.CalorieItemIntakes.Find(item.CalorieItemIntakeId);
                //pdateCountSum(item.CalorieItemIntakeId,dcc.DailyCalorieCountId);
                double cal  = db.CalorieItems.Find(ocu.CalorieItemId).Calories;
                double size = db.CalorieItems.Find(ocu.CalorieItemId).ServingSize;
                double qnty = ocu.Quantity;

                dcc.TotalCalories -= Calculator.Sum(cal, qnty, size);

                dcc.TotalCalories += Calculator.Sum(db.CalorieItems.Find(item.CalorieItemId).Calories, item.Quantity, db.CalorieItems.Find(item.CalorieItemId).ServingSize);

                db.Entry(ocu).State = EntityState.Detached;
                db.Entry(dcc).State = EntityState.Modified;


                //dis bitch breaks//////////////////////////////////
                db.Entry(item).State = EntityState.Modified;////////
                ////////////////////////////////////////////////////

                db.SaveChanges();

                return(RedirectToAction("Details", new { id = item.DailyCalorieCountId }));
            }

            ViewBag.Name = db.CalorieItems.Find(item.CalorieItemId);

            return(View(item));
        }
示例#2
0
        private void UpdateCountSum(int cal_id, int count_id)
        {
            CalorieItemIntake ci = db.CalorieItemIntakes.Find(cal_id);
            DailyCalorieCount dc = db.DailyCalorieCounts.Find(count_id);

            dc.TotalCalories -= Calculator.Sum(ci.CalorieItem.Calories, ci.Quantity, ci.CalorieItem.ServingSize);
        }
示例#3
0
        public ActionResult DeleteCalorieItem(int id)
        {
            int i = db.CalorieItemIntakes.Find(id).DailyCalorieCountId;

            CalorieItemIntake c = db.CalorieItemIntakes.Find(id);

            db.CalorieItemIntakes.Remove(c);

            db.SaveChanges();

            return(RedirectToAction("Details", new { id = i }));
        }
示例#4
0
        //get
        public ActionResult EditCalorieItem(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest));
            }

            CalorieItemIntake cii = db.CalorieItemIntakes.Find(id);


            if (cii == null)
            {
                return(HttpNotFound());
            }

            ViewBag.Name = db.CalorieItems.Find(cii.CalorieItemId).Name;

            return(View(cii));
        }
示例#5
0
        public ActionResult ReviewRequest([Bind(Include = "Name, Calories, Carbs, Protein, Fat, ServingSize,ImagePath, CategoryId")] ReviewTempCalorieItemViewModel calItem, int TempCalorieItemId)
        {
            if (ModelState.IsValid)
            {
                var item = new CalorieItem()
                {
                    Name        = calItem.Name,
                    Calories    = calItem.Calories,
                    Carbs       = calItem.Carbs,
                    Protein     = calItem.Protein,
                    Fat         = calItem.Fat,
                    ServingSize = calItem.ServingSize,
                    Category    = db.Categories.Find(calItem.CategoryId)
                };
                //add the new calorie Item
                db.CalorieItems.Add(item);
                db.SaveChanges();
                //add Image
                if (!String.IsNullOrEmpty(calItem.ImagePath))
                {
                    HttpPostedFileBase ImagePath = Request.Files["ImagePath"];
                    CalorieItemImage(item.CalorieItemId, ImagePath);
                }
                else
                {
                    item.ImagePath = @"/Content/Images/CalorieItemImages/dog_ate_img.jpeg";
                    db.SaveChanges();
                }

                //REMOVING TEMP AND ADDING NEW CALORIE ITEM INSTEAD
                //find calorie count of temp calorie item
                var temp  = db.TempCalorieItems.Find(TempCalorieItemId);
                var count = db.DailyCalorieCounts.Find(temp.DailyCalorieCountId);
                //remove temp and add the new, accpeted, calorie item
                //create intake item
                var calorieItemIntake = new CalorieItemIntake()
                {
                    CalorieItem       = item,
                    DailyCalorieCount = count,
                    Quantity          = temp.ServingSize
                };
                //add intake item, as to give it a ID
                db.CalorieItemIntakes.Add(calorieItemIntake);

                //// DO THE MATH IF : calorie values/ratio were to change the count would also to reflect this update, otherwise the total stays the same
                //minus the temp calories from total calories
                //count.TotalCalories -= temp.Calories;
                //add the new calorie
                //count.TotalCalories += Calculator.Sum(db.CalorieItems.Find(calorieItemIntake.CalorieItemId).Calories, calorieItemIntake.Quantity, db.CalorieItems.Find(calorieItemIntake.CalorieItemId).ServingSize);
                //db.Entry(count).State = EntityState.Modified;

                db.TempCalorieItems.Remove(temp);
                db.SaveChanges();

                return(RedirectToAction("AllRequests"));
            }


            ViewBag.CategoryId = new SelectList(db.Categories, "CategoryId", "Name");

            return(View(calItem));
        }