public ServiceResult <RecipeDTO[]> GetAllRecipes(RecipeFilterDTO filter, int pageIndex, int pageSize) //przetestować filtr { IEnumerable <Recipe> recipes; if (filter == null) { recipes = _recipeRepository.GetAll( r => r.RecipeIngredients, ri => ((RecipeIngredient)ri).Ingredient, pageIndex, pageSize); } else { if (filter.MaxDifficultyRating == 0) { filter.MaxDifficultyRating = float.MaxValue; } recipes = _recipeRepository.GetAllBy(r => (filter.MaxTimeToMake == null || r.TimeToMake <= filter.MaxTimeToMake) && (filter.MinQualityRating == null || r.QualityRating >= filter.MinQualityRating) && (filter.MaxDifficultyRating == null || r.DifficultyRating <= filter.MaxDifficultyRating), r => r.RecipeIngredients, ri => ((RecipeIngredient)ri).Ingredient, pageIndex, pageSize); } var mappedRecipes = _mapper.Map <RecipeDTO[]>(recipes); return(new ServiceResult <RecipeDTO[]>(mappedRecipes)); }
public ActionResult <RecipeDTO[]> Get([FromQuery] RecipeFilterDTO filter, int pageIndex = 0, int pageSize = 0) //pageIndex 0 to pierwsza strona { return(this.HandleServiceResult(_recipeService.GetAllRecipes(filter, pageIndex, pageSize))); }