public async Task <PagedList <CoctailDto> > GetCoctailsAsync(string name, IList <string> ingredients, CoctailParams coctailParams) { var coctailsQueryable = _context.Coctails .Where(x => x.IsAccepted) .ProjectTo <CoctailDto>(_mapper.ConfigurationProvider) .AsQueryable(); if (!string.IsNullOrEmpty(name)) { coctailsQueryable = coctailsQueryable.Where(x => EF.Functions.Like(x.Name, $"%{name}%")); } var query = QueryBuilder.BuildIngredientsQuery(coctailsQueryable, ingredients); query = QueryBuilder.AddFiltersQuery(query, coctailParams); return(await PagedList <CoctailDto> .CreateAsync(query, coctailParams.PageNumber, coctailParams.PageSize)); }