Example #1
0
        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);
        }
Example #2
0
        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
                       ));
        }