public IActionResult SelectFoodItemsForMeal(int mealId, int currentPage = 1) { //possible to prevent user from passing their own arguments. var PageSize = 10; var foodItems = foodItemRepository.GetFoodItemsForUser(this.CurrentUser.User); var meal = mealRepository.Find(mealId); var viewModel = new MealBuilderSelectFoodItemsViewModel() { FoodItems = foodItems.OrderBy(x => x.FoodItemName).Skip((currentPage - 1) * PageSize).Take(PageSize), PagingInfo = new PagingInfo { CurrentPage = currentPage, ItemsPerPage = PageSize, TotalItems = foodItemRepository.GetFoodItemsForUser(CurrentUser.User).Count() }, TheMeal = meal }; return(View(viewModel)); }
public MainViewModel(IServiceProvider provider, IMealRepository mealRepository, IIngredientBaseRepository ingredientBaseRepository, IIngredientRepository ingredientRepository, IMealService mealService, ITransferService importExportService) { this.provider = provider; this.ingredientBaseRepository = ingredientBaseRepository; this.ingredientRepository = ingredientRepository; this.mealRepository = mealRepository; this.mealService = mealService; this.importExportService = importExportService; Meals = new ObservableCollection <Meal>(mealRepository.Find(x => true).GetAwaiter().GetResult()); IngredientBase = new ObservableCollection <IngredientBase>(GetIngredients()); CalcTotalNutritionFact(); }