public async Task <PagedResultOutput <BuildingDto> > GetBuildings(GetBuildingsInput input)
 {
     using (CurrentUnitOfWork.EnableFilter(AbpZeroTemplateConsts.AdminCommunityFilterClass.Name))
     {
         using (CurrentUnitOfWork.SetFilterParameter(AbpZeroTemplateConsts.AdminCommunityFilterClass.Name, AbpZeroTemplateConsts.AdminCommunityFilterClass.ParameterName, await GetAdminCommunityIdList()))
         {
             return(await ProcessGet(input));
         }
     }
 }
        private async Task <PagedResultOutput <BuildingDto> > ProcessGet(GetBuildingsInput input)
        {
            //var query = _manager.FindBuildingList(input.Sorting);

            var query = from d in _manager.BuildingRepository.GetAll()
                        orderby input.Sorting
                        select new
            {
                d.Id,
                d.CommunityId,
                CommunityName = d.Community.Name,
                d.BuildingName,
                d.CreationTime,
                CreationTimeStr = d.CreationTime.ToString()
            };

            if (input.CommunityId.HasValue)
            {
                //业主ID,用于app端获取数据
                query = query.Where(d => d.CommunityId == input.CommunityId.Value);
            }

            if (!string.IsNullOrEmpty(input.BuildingName))
            {
                //单元名
                query = query.Where(d => d.BuildingName.Contains(input.BuildingName));
            }

            var totalCount = await query.CountAsync();

            var items = await query.OrderByDescending(d => d.CreationTime).PageBy(input).ToListAsync();

            return(new PagedResultOutput <BuildingDto>(
                       totalCount,
                       items.Select(
                           item =>
            {
                return Mapper.DynamicMap <BuildingDto>(item);
                //var dto = item.MapTo<BuildingDto>();
                //return dto;
            }
                           ).ToList()
                       ));
        }
 public async Task <PagedResultOutput <BuildingDto> > GetAllBuildings(GetBuildingsInput input)
 {
     return(await ProcessGet(input));
 }