private IQueryable <HerdGeoLog> GetFilteredQuery(GetHerdGeoLogInput input) { var query = QueryableExtensions.WhereIf( _herdGeoLogRepository.GetAll() .Include(x => x.Herd) .Include(x => x.Officer), !input.Filter.IsNullOrWhiteSpace(), u => u.Officer.Name.Contains(input.Filter) || u.Officer.Family.Contains(input.Filter) || u.Herd.HerdName.Contains(input.Filter) || u.Herd.FirmName.Contains(input.Filter)); return(query); }
public async Task <PagedResultDto <HerdGeoLogListDto> > GetHerdGeoLog(GetHerdGeoLogInput input) { var query = GetFilteredQuery(input); var userCount = await query.CountAsync(); var herdGeoLogs = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); var herdGeoLogsListDto = ObjectMapper.Map <List <HerdGeoLogListDto> >(herdGeoLogs); return(new PagedResultDto <HerdGeoLogListDto>( userCount, herdGeoLogsListDto )); }