public IActionResult Index() { var user = Database.GetDatabase(_env.ContentRootPath).Users.FirstOrDefault(); var vm = new DietIndexViewModel(user); //get user from database return(View(vm)); }
public ActionResult Index(DateTime?dateTime = null) { var userId = User.Identity.GetUserId(); var ToDayDate = dateTime ?? DateTime.Now.Date; var viewModel = _unitOfWork.DailyMenus.GetDailyMenu(userId, ToDayDate); if (viewModel == null) { viewModel = new DailyMenu { DailyMenuDate = ToDayDate, FoodModels = new List <FoodModel>(), UserId = userId }; _unitOfWork.DailyMenus.AddDailyMenu(viewModel); _unitOfWork.Complete(); } var viewModelToReturn = new DietIndexViewModel(); viewModelToReturn.DailyMenu = viewModel; foreach (var item in viewModelToReturn.DailyMenu.FoodModels) { if (item.MealType == MealType.breakfast) { viewModelToReturn.Breakfast.Calories += item.Calories; viewModelToReturn.Breakfast.Fat += item.Fat; viewModelToReturn.Breakfast.Carbohydrates += item.Carbohydrates; viewModelToReturn.Breakfast.Protein += item.Protein; } if (item.MealType == MealType.dinner) { viewModelToReturn.Dinner.Calories += item.Calories; viewModelToReturn.Dinner.Fat += item.Fat; viewModelToReturn.Dinner.Carbohydrates += item.Carbohydrates; viewModelToReturn.Dinner.Protein += item.Protein; } if (item.MealType == MealType.lunch) { viewModelToReturn.Lunch.Calories += item.Calories; viewModelToReturn.Lunch.Fat += item.Fat; viewModelToReturn.Lunch.Carbohydrates += item.Carbohydrates; viewModelToReturn.Lunch.Protein += item.Protein; } if (item.MealType == MealType.snacks) { viewModelToReturn.Snack.Calories += item.Calories; viewModelToReturn.Snack.Fat += item.Fat; viewModelToReturn.Snack.Carbohydrates += item.Carbohydrates; viewModelToReturn.Snack.Protein += item.Protein; } viewModelToReturn.AllDayMenuSumary.Calories = viewModelToReturn.Snack.Calories + viewModelToReturn.Breakfast.Calories + viewModelToReturn.Dinner.Calories + viewModelToReturn.Lunch.Calories; viewModelToReturn.AllDayMenuSumary.Fat = viewModelToReturn.Snack.Fat + viewModelToReturn.Breakfast.Fat + viewModelToReturn.Dinner.Fat + viewModelToReturn.Lunch.Fat; viewModelToReturn.AllDayMenuSumary.Protein = viewModelToReturn.Snack.Protein + viewModelToReturn.Breakfast.Protein + viewModelToReturn.Dinner.Protein + viewModelToReturn.Lunch.Protein; viewModelToReturn.AllDayMenuSumary.Carbohydrates = viewModelToReturn.Snack.Carbohydrates + viewModelToReturn.Breakfast.Carbohydrates + viewModelToReturn.Dinner.Carbohydrates + viewModelToReturn.Lunch.Carbohydrates; } var measurementModel = _unitOfWork.Measurements.GetAllMeasurements(userId).OrderByDescending(m => m.Date).FirstOrDefault(); var limit = 0; if (measurementModel != null) { limit = (int)measurementModel.CaloricRequirement; viewModelToReturn.CalorieLimit.Protein = Decimal.Round((decimal)measurementModel.Weight * 2, 2); viewModelToReturn.CalorieLimit.Fat = Decimal.Round((decimal)(limit * 0.25) / 9, 2); viewModelToReturn.CalorieLimit.Carbohydrates = Decimal.Round(((decimal)measurementModel.CaloricRequirement - (viewModelToReturn.CalorieLimit.Fat * 9 + viewModelToReturn.CalorieLimit.Protein * 4)) / 4, 2); } viewModelToReturn.CalorieLimit.Calories = limit; return(View(viewModelToReturn)); }