private IQueryable <CityInfo> GetFilteredQuery(GetCityInfoInput input) { var query = QueryableExtensions.WhereIf(_cityInfoRepository.GetAllIncluding(p => p.StateInfo), !input.Filter.IsNullOrWhiteSpace(), u => u.StateInfo.Name.Contains(input.Filter) || u.Name.Contains(input.Filter) || u.Code.Contains(input.Filter)); return(query); }
public async Task <PagedResultDto <CityInfoListDto> > GetCityInfo(GetCityInfoInput input) { var query = GetFilteredQuery(input); var userCount = await query.CountAsync(); var cityInfos = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); var cityInfosListDto = ObjectMapper.Map <List <CityInfoListDto> >(cityInfos); return(new PagedResultDto <CityInfoListDto>( userCount, cityInfosListDto )); }