private IQueryable <Support> GetFilteredQuery(GetSupportInput input) { var query = QueryableExtensions.WhereIf( _supportRepository.GetAll() .Include(x => x.SupportType) .Include(x => x.SupportState), !input.Filter.IsNullOrWhiteSpace(), u => u.Description.Contains(input.Filter) || u.SupportType.Name.Contains(input.Filter) || u.SupportState.Name.Contains(input.Filter) || u.Response.Contains(input.Filter)); return(query); }
public async Task <PagedResultDto <SupportListDto> > GetSupport(GetSupportInput input) { var query = GetFilteredQuery(input); var userCount = await query.CountAsync(); var supports = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); var supportsListDto = ObjectMapper.Map <List <SupportListDto> >(supports); return(new PagedResultDto <SupportListDto>( userCount, supportsListDto )); }