Beispiel #1
0
        public void Meal_list_return_results()
        {
            var search  = new MealSearch();
            var results = _mealService.List(search);

            Assert.IsNotNull(results);
        }
        public MealListResponse List(MealSearch search)
        {
            // populate partial searches with default data
            search             = search ?? new MealSearch();
            search.MealTypeIds = search.MealTypeIds ?? new List <int> {
                (int)MealTypes.Breakfast, (int)MealTypes.Dinner
            };
            search.StartDate = search.StartDate == null ? DateTime.Today : search.StartDate;
            search.EndDate   = search.EndDate == null?DateTime.Today.AddDays(7) : search.EndDate;

            var predicate = PredicateBuilder.New <MealListView>(s => s.MealDate >= search.StartDate);

            predicate.And(s => s.MealDate <= search.EndDate);
            predicate.And(s => search.MealTypeIds.Contains(s.MealTypeId));

            if (search.RecipeIds != null && search.RecipeIds.Any())
            {
                predicate.And(s => search.RecipeIds.Contains(s.RecipeId));
            }

            var results = _mealRepository.List(predicate);

            return(new MealListResponse
            {
                Results = results,
                Search = search
            });
        }
 public ActionResult <IEnumerable <MealGetDTO> > Get([FromQuery] MealSearch request)
 {
     try
     {
         var meals = _getMealsCommand.Execute(request);
         return(Ok(meals));
     }catch (Exception)
     {
         return(StatusCode(500, "Server error, try later"));
     }
 }
 public MealListResponse List(MealSearch search)
 {
     return(_mealService.List(search));
 }