public IActionResult AddMealAsFood(MealItemViewModel[] model) { var member = DiabetCalcService.EnsureMemberExists(_diabetWebData, User.Identity.Name); var meals = _diabetWebData.GetMealItems(User.Identity.Name); var item = new FoodItem(); var tw = (double)0; if ((meals != null) && (meals.Length > 0)) { for (int i = 0; i < meals.Length; i++) { tw += (double)meals[i].Weight; } if (tw > 0) { for (int i = 0; i < meals.Length; i++) { item.Protein += meals[i].FoodItem.Protein * (double)meals[i].Weight / tw; item.Fat += meals[i].FoodItem.Fat * (double)meals[i].Weight / tw; item.Carbohydrates += meals[i].FoodItem.Carbohydrates * (double)meals[i].Weight / tw; } } item.Protein = Math.Round(item.Protein, 2); item.Fat = Math.Round(item.Fat, 2); item.Carbohydrates = Math.Round(item.Carbohydrates, 2); DiabetCalcService.CalcEnergy(item); } return(RedirectToAction(nameof(AddFoodItem), item)); }