示例#1
0
        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));
        }
示例#2
0
 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();
 }