| | |
| | | public async Task<List<GetEnabledElectronSignSettingsQueryResultItem>> Handle(GetEnabledElectronSignSettingsQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var logier = JwtUtils.GetCurrentLogier(); |
| | | var q = rep.AsQueryable().AsNoTracking() |
| | | .Where(it => !it.IsDisabled); |
| | | var q = rep.AsQueryable().AsNoTracking(); |
| | | if (request.All != true) |
| | | { |
| | | q = q.Where(it => !it.IsDisabled); |
| | | } |
| | | if (logier.Type == EnumUserType.Enterprise) |
| | | { |
| | | request.EnterpriseId = logier.EnterpriseId; |
| | | } |
| | | if (request.EnterpriseId.HasValue) |
| | | { |
| | | var accesses = await repEnterpriseElectronSignSetting.AsQueryable() |
| | | .Where(it => it.EnterpriseId == logier.EnterpriseId) |
| | | .Where(it => it.EnterpriseId == request.EnterpriseId) |
| | | .Select(it => it.ElectronSignAccess) |
| | | .ToListAsync(); |
| | | q = q.Where(it => accesses.Contains(it.Access)); |
| | | q = q.Where(request.All != true, it => accesses.Contains(it.Access)); |
| | | |
| | | } |
| | | return await q |
| | | .ProjectToType<GetEnabledElectronSignSettingsQueryResultItem>() |