public async Task <PagedResultOutput <DeliveryDto> > GetDeliverys(GetDeliverysInput input) { using (CurrentUnitOfWork.EnableFilter(AbpZeroTemplateConsts.AdminCommunityFilterClass.Name)) { using (CurrentUnitOfWork.SetFilterParameter(AbpZeroTemplateConsts.AdminCommunityFilterClass.Name, AbpZeroTemplateConsts.AdminCommunityFilterClass.ParameterName, await GetAdminCommunityIdList())) { return(await ProcessGet(input)); } } }
public async virtual Task <IHttpActionResult> GetDeliverys(string userName, string token, int skipCount, int maxResultCount, string sorting = null, int?tenantId = null) { base.AuthUser(); using (CurrentUnitOfWork.SetTenantId(tenantId)) { var homeOwerUser = await _homeOwerUserManager.GetHomeOwerUserByUserName(userName); if (homeOwerUser.HomeOwerId == 0) { throw ErrorCodeTypeUtils.ThrowError(ErrorCodeType.HomeOwerNotExists); } var input = new GetDeliverysInput(); input.HomeOwerId = homeOwerUser.HomeOwerId; input.MaxResultCount = maxResultCount; input.SkipCount = skipCount; if (!string.IsNullOrEmpty(sorting)) { input.Sorting = sorting; } return(Ok(await _deliveryService.GetAllDeliverys(input))); } }
private async Task <PagedResultOutput <DeliveryDto> > ProcessGet(GetDeliverysInput input) { //var query = _manager.FindDeliveryList(input.Sorting); var query = from d in _manager.DeliveryRepository.GetAll() orderby input.Sorting select new { d.Id, d.CommunityId, CommunityName = d.CommunityName, BuildingId = d.BuildingId, d.BuildingName, d.HomeOwer, d.HomeOwerId, HomeOwerName = d.HomeOwer.Forename + "" + d.HomeOwer.Surname, d.Title, d.Content, d.IsReplace, d.Token, d.CreationTime, d.IsGather, d.FlatNo, GatherTime = !d.GatherTime.HasValue ? "N/A" : d.GatherTime.ToString(), ReplaceHomeOwerName = d.ReplaceHomeOwer != null ? (d.HomeOwer.Forename + "" + d.HomeOwer.Surname) : string.Empty, CreationTimeStr = d.CreationTime.ToString(), d.Barcode }; if (input.HomeOwerId.HasValue) { //业主ID,用于app端获取数据 query = query.Where(d => d.HomeOwer.Id == input.HomeOwerId.Value); } if (input.CommunityId.HasValue) { query = query.Where(d => d.CommunityId == input.CommunityId.Value); } if (!string.IsNullOrEmpty(input.Keywords)) { //小区 / 业主名称 query = query.Where(d => d.HomeOwer.Forename.Contains(input.Keywords) || d.HomeOwer.Surname.Contains(input.Keywords) || d.HomeOwer.CommunityName.Contains(input.Keywords) || d.BuildingName.Contains(input.Keywords) || d.FlatNo.Contains(input.Keywords) //|| d.HomeOwer.Buildings.Any(b => b.BuildingName.Contains(input.Keywords)) ); } if (input.BuildingId.HasValue) { //单元楼 query = query.Where(d => d.BuildingId == input.BuildingId.Value); } if (input.StartDate.HasValue) { //开始时间 query = query.Where(d => d.CreationTime >= input.StartDate.Value); } if (input.EndDate.HasValue) { input.EndDate = input.EndDate.Value.AddDays(1).AddSeconds(-1); //结束时间 query = query.Where(d => d.CreationTime <= input.EndDate.Value); } if (input.IsGather.HasValue) { //是否收取 query = query.Where(d => d.IsGather == input.IsGather.Value); } var totalCount = await query.CountAsync(); var items = await query.OrderByDescending(d => d.CreationTime).PageBy(input).ToListAsync(); return(new PagedResultOutput <DeliveryDto>( totalCount, items.Select( item => { return Mapper.DynamicMap <DeliveryDto>(item); //var dto = item.MapTo<DeliveryDto>(); //return dto; } ).ToList() )); }
public async Task <PagedResultOutput <DeliveryDto> > GetAllDeliverys(GetDeliverysInput input) { return(await ProcessGet(input)); }