public ActionResult CreateCount([Bind(Include = "Name, Date")] DailyCalorieCount dcc) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); if (!String.IsNullOrEmpty(userId)) { var cs = db.DailyCalorieCounts.Where(c => c.UserId.Equals(userId)); foreach (var c in cs) { if (c.Date.Date.Equals(dcc.Date.Date)) { return(View(dcc)); } } dcc.UserId = userId; dcc.User = db.Users.Find(userId); db.DailyCalorieCounts.Add(dcc); db.SaveChanges(); int id = dcc.DailyCalorieCountId; return(RedirectToAction("Details", new { id = id })); } } return(View(dcc)); }
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); }
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)); }
public ActionResult CreateCustom([Bind(Include = "Name,Calories,Carbs,Protein,Fat,Quantity,SelectedCount, SendSugestion")] CustomCalorieViewModel vm) { if (ModelState.IsValid) { DailyCalorieCount dcc = new DailyCalorieCount(); bool send = vm.SendSugestion;//set the send suggestion bool if (vm.SelectedCount == null || vm.SelectedCount == 0) { dcc = new DailyCalorieCount() { Date = DateTime.Now, Name = "New Count", UserId = User.Identity.GetUserId(), TotalCalories = 0 }; db.DailyCalorieCounts.Add(dcc); db.SaveChanges(); } else { dcc = db.DailyCalorieCounts.Find(vm.SelectedCount); } db.TempCalorieItems.Add(new TempCalorieItem()//creating the temp item { Name = vm.Name, Calories = CastDouble(vm.Calories), Carbs = CastDouble(vm.Carbs), Protein = CastDouble(vm.Protein), Fat = CastDouble(vm.Fat), ServingSize = CastDouble(vm.Quantity), DailyCalorieCount = dcc, DailyCalorieCountId = dcc.DailyCalorieCountId, SendSugestion = send }); dcc.TotalCalories += Calculator.Sum((double)vm.Calories, (double)vm.Quantity, (double)vm.Quantity); //add totals of other attributes //dcc.TotalCarbs += Calculator.Sum() //dcc.TotalProtien += Calculator.Sum() //dcc.TotalFat += Calculator.Sum() db.SaveChanges(); return(RedirectToAction("FoodIndex")); } var userId = User.Identity.GetUserId(); vm.DailyCalorieCountId = db.DailyCalorieCounts.Where(c => c.UserId == userId).OrderByDescending(c => c.Date).ToList().Select(s => new SelectListItem() { Value = s.DailyCalorieCountId.ToString(), Text = (s.Name + ": " + s.Date.ToString("ddd - dd/MM")) }).ToList(); return(View(vm)); }
public ActionResult EditCount([Bind(Include = "UserId, TotalCalories, DailyCalorieCountId, Name, Date")] DailyCalorieCount dcc) { if (ModelState.IsValid) { db.Entry(dcc).State = EntityState.Modified; db.SaveChanges(); int id = dcc.DailyCalorieCountId; return(RedirectToAction("Details", new { id = id })); } return(View(dcc)); }
public ActionResult EditTempItem([Bind(Include = "TempCalorieItemId, DailyCalorieCountId,Name, Calories, Carbs,Protein,Fat, Quantity, SendSugestion")] CustomCalorieEditViewModel item) { if (ModelState.IsValid) { DailyCalorieCount dcc = db.DailyCalorieCounts.Find(item.DailyCalorieCountId); //TempCalorieItem tci = db.TempCalorieItems.Where(o => o.DailyCalorieCountId == dcc.DailyCalorieCountId).ToList()[0]; TempCalorieItem tci = db.TempCalorieItems.Find(item.TempCalorieItemId); //minus the og calories dcc.TotalCalories -= tci.Calories; //add the new calories dcc.TotalCalories += (double)item.Calories; //save the dailycount db.Entry(dcc).State = EntityState.Modified; //make sure shit aint null if (item.Carbs == null) { item.Carbs = 0; } if (item.Protein == null) { item.Protein = 0; } if (item.Fat == null) { item.Fat = 0; } //update temp item tci.Name = item.Name; tci.Calories = (double)item.Calories; tci.Carbs = (double)item.Carbs; tci.Protein = (double)item.Protein; tci.Fat = (double)item.Fat; tci.ServingSize = (double)item.Quantity; tci.SendSugestion = item.SendSugestion; tci.DailyCalorieCount = db.DailyCalorieCounts.Find(item.DailyCalorieCountId); //save that change db.Entry(tci).State = EntityState.Modified; db.SaveChanges(); //send them packing to the calorie count they were on return(RedirectToAction("Details", new { id = item.DailyCalorieCountId })); } //ViewBag.Name = db.CalorieItems.Find(item.TempCalorieItemId); return(View(item)); }
public ActionResult DeleteDailyCount(int id) { List <CalorieItemIntake> intake = db.CalorieItemIntakes.Where(i => i.DailyCalorieCountId == id).ToList(); foreach (CalorieItemIntake c in intake) { db.CalorieItemIntakes.Remove(c); } DailyCalorieCount dc = db.DailyCalorieCounts.Find(id); db.DailyCalorieCounts.Remove(dc); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Add([Bind(Include = "CalorieItemId, Quantity, SelectedCalorieCount")] ItemIntakeViewModel ii) { //if the required items have assigned values! if (ModelState.IsValid) { //new insstance of a calorie count DailyCalorieCount dcc = new DailyCalorieCount(); //if there has been no existing calorie count selected if (ii.SelectedCalorieCount == null || ii.SelectedCalorieCount == 0) { // FUTURE :if not logged in save a session count? //create a new daily count based on today dcc = new DailyCalorieCount() { Date = DateTime.Now, Name = "New Count", UserId = User.Identity.GetUserId(), TotalCalories = 0 }; db.DailyCalorieCounts.Add(dcc); db.SaveChanges(); } else //otherwise if the user selected an existing daily calorie count save set instance to that { dcc = db.DailyCalorieCounts.Find(ii.SelectedCalorieCount); } //after deciding what daily count to add the item to //add the item to it based on the view model db.CalorieItemIntakes.Add(new CalorieItemIntake() { CalorieItemId = ii.CalorieItemId, CalorieItem = db.CalorieItems.Find(ii.CalorieItemId), Quantity = ii.Quantity, DailyCalorieCount = dcc, DailyCalorieCountId = dcc.DailyCalorieCountId }); //add the amount to the calories //based on the base calorie amount * (qnty eaten / base serving size) dcc.TotalCalories += Calculator.Sum(db.CalorieItems.Find(ii.CalorieItemId).Calories, ii.Quantity, db.CalorieItems.Find(ii.CalorieItemId).ServingSize); //FUTURE ADD OTHER TOTALS in the same way //add totals of other attributes //dcc.TotalCarbs += Calculator.Sum() //dcc.TotalProtien += Calculator.Sum() //dcc.TotalFat += Calculator.Sum() db.SaveChanges(); return(RedirectToAction("FoodIndex")); //update days total in nav bar? } // get user id var userId = User.Identity.GetUserId(); //get calorie item and send back to view if viewModel is not valid ii.CalorieItem = db.CalorieItems.Find(ii.CalorieItemId); //imagepath ii.ImagePath = db.CalorieItems.Find(ii.CalorieItemId).ImagePath; // re send the daily counts to view ii.DailyCalorieCountId = db.DailyCalorieCounts.Where(c => c.UserId == userId).ToList().Select(s => new SelectListItem() { Value = s.DailyCalorieCountId.ToString(), Text = s.DateToString() }).ToList(); return(View(ii)); }