Esempio n. 1
0
        private IQueryable <VillageInfo> GetFilteredQuery(GetVillageInfoInput input)
        {
            var query = QueryableExtensions.WhereIf(
                _villageInfoRepository.GetAll()
                .Include(p => p.RegionInfo)
                .ThenInclude(p => p.CityInfo)
                .ThenInclude(p => p.StateInfo),
                !input.Filter.IsNullOrWhiteSpace(), u =>
                u.RegionInfo.CityInfo.StateInfo.Name.Contains(input.Filter) ||
                u.RegionInfo.CityInfo.Name.Contains(input.Filter) ||
                u.RegionInfo.Name.Contains(input.Filter) ||
                u.Name.Contains(input.Filter) ||
                u.Code.Contains(input.Filter));

            return(query);
        }
Esempio n. 2
0
        public async Task <PagedResultDto <VillageInfoListDto> > GetVillageInfo(GetVillageInfoInput input)
        {
            var query     = GetFilteredQuery(input);
            var userCount = await query.CountAsync();

            var villageInfos = await query
                               .OrderBy(input.Sorting)
                               .PageBy(input)
                               .ToListAsync();

            var villageInfosListDto = ObjectMapper.Map <List <VillageInfoListDto> >(villageInfos);

            return(new PagedResultDto <VillageInfoListDto>(
                       userCount,
                       villageInfosListDto
                       ));
        }