| | |
| | | public class EnterprisesQueryHandler( |
| | | IRepository<Enterprise> rep, |
| | | IRepository<EnterpriseAuth> repEnterpriseAuth, |
| | | IRepository<DictionaryData> repDictionaryData |
| | | IRepository<DictionaryData> repDictionaryData, |
| | | IRepository<TaskInfo> repTaskInfo |
| | | ) : |
| | | IRequestHandler<GetEnterprisesQuery, PagedListQueryResult<GetEnterprisesQueryResultItem>>, |
| | | IRequestHandler<GetEnterpriseQuery, GetEnterpriseQueryResult>, |
| | |
| | | if (request.Keywords.IsNotNull()) |
| | | { |
| | | q = q.Where(it => |
| | | it.EnterpriseAuth.EnterpriseName.Contains(request.Keywords) |
| | | || it.EnterpriseAuth.LegalPerson.Contains(request.Keywords) |
| | | it.EnterpriseName.Contains(request.Keywords) |
| | | || it.LegalPerson.Contains(request.Keywords) |
| | | || it.Contacts.Contains(request.Keywords)); |
| | | } |
| | | if (request.IsConfigured.HasValue) |
| | | { |
| | | q = q.Where(it => (it.IsCheckedBankCard && it.RealAccess.HasValue && it.SmsAccess.HasValue) == request.IsConfigured); |
| | | q = q.Where(it => (it.IsCheckedBankCard && it.ElectronSignSettings.Any() && it.SmsAccess.HasValue) == request.IsConfigured); |
| | | } |
| | | var s = (from e in q |
| | | join p in repDictionaryData.AsQueryable().AsNoTracking() on e.ProvinceCode equals p.Code into pg |
| | |
| | | CityContent = cgi.Content, |
| | | IndustryTypeContent = igi.Content, |
| | | IsReal = e.IsReal, |
| | | IsConfigured = e.IsCheckedBankCard && e.RealAccess.HasValue && e.SmsAccess.HasValue |
| | | IsConfigured = e.IsCheckedBankCard && e.ElectronSignSettings.Any() && e.SmsAccess.HasValue |
| | | }); |
| | | return request.PageModel.GetPagedListAsync(s, cancellationToken: cancellationToken); |
| | | } |
| | |
| | | .Where(it => it.Id == request.Id) |
| | | .ProjectToType<GetEnterpriseQueryResult>() |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | model.UserName = await rep.Change<User>().AsQueryable().AsNoTracking() |
| | | .Where(it => it.EnterpriseId == model.Id) |
| | | .Select(it => it.UserName) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | model.TaskCount = await repTaskInfo.AsQueryable().AsNoTracking() |
| | | .Where(it => it.EnterpriseId == request.Id && it.ReleaseStatus == EnumTaskReleaseStatus.InProcess) |
| | | .CountAsync(); |
| | | return model; |
| | | } |
| | | |
| | |
| | | { |
| | | var model = await rep.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.Id) |
| | | .ProjectToType<GetEnterpriseElectronSignSettingQueryResult>() |
| | | .Select(it => new GetEnterpriseElectronSignSettingQueryResult |
| | | { |
| | | Id = it.Id, |
| | | ElectronSignAccesses = it.ElectronSignSettings.Select(s => s.ElectronSignAccess).ToList() |
| | | }) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | return model; |
| | | } |
| | | |
| | |
| | | .Where(it => it.Id == request.Id) |
| | | .ProjectToType<GetEnterpriseSmsSettingQueryResult>() |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | return model; |
| | | } |
| | | } |