public async Task <IActionResult> AlreadyMade() { RecipeBookViewModel recipeBookViewModel = new RecipeBookViewModel(); ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User); var mealTypes = from mt in _context.MealType select mt; recipeBookViewModel.mealTypes = mealTypes; recipeBookViewModel.meals = new List <IEnumerable <MealDTO> >(); foreach (MealType type in mealTypes) { var userMeals = await _context.UserMeal.Include(us => us.Meal).ThenInclude(m => m.MealType).Where(us => us.AlreadyMade == true && us.UserID == user.Id).AsNoTracking().ToListAsync(); List <MealDTO> meals = new List <MealDTO>(); foreach (UserMeal userMeal in userMeals) { if (userMeal.Meal.MealTypeID == type.MealTypeID) { meals.Add(GetMealDTO(userMeal.Meal)); } } meals = meals.OrderBy(m => m.Name).ToList(); recipeBookViewModel.meals.Add(meals); } return(View(recipeBookViewModel)); }
// GET: Meals public async Task <IActionResult> Index() { RecipeBookViewModel recipeBookViewModel = new RecipeBookViewModel(); var mealTypes = from mt in _context.MealType select mt; recipeBookViewModel.mealTypes = mealTypes; recipeBookViewModel.meals = new List <IEnumerable <MealDTO> >(); int size = 9; foreach (var type in mealTypes) { IQueryable <MealDTO> mealDTOs = GetMeals(type.Name); mealDTOs = mealDTOs.OrderByDescending(m => m.Stars); mealDTOs = mealDTOs.Take(size).AsQueryable(); recipeBookViewModel.meals.Add(mealDTOs); } return(View(recipeBookViewModel)); }