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 CreateCustom() { // similar to adding a calorie to a count, // a user may create their own if they cannot find the desired item // adding it to a temporary items table // the user will also have the ability to suggest the item to an admin for review var userId = User.Identity.GetUserId(); IList <DailyCalorieCount> list = db.DailyCalorieCounts.Where(l => l.UserId == userId).OrderByDescending(l => l.Date).ToList(); CustomCalorieViewModel vm = new CustomCalorieViewModel() { DailyCalorieCountId = list.Select(s => new SelectListItem() { Value = s.DailyCalorieCountId.ToString(), Text = (s.Name + ": " + s.Date.ToString("ddd - dd/MM")) }).ToList() }; return(View(vm)); }