| | |
| | | /// 企业命令处理器 |
| | | /// </summary> |
| | | public class EnterpriseCommandHandler( |
| | | IMediator mediator, |
| | | IRepository<Enterprise> rep, |
| | | IRepository<User> repUser |
| | | ) : |
| | |
| | | IRequestHandler<SetEnterpriseSmsSettingCommand, Guid> |
| | | |
| | | { |
| | | private readonly IMediator mediator = mediator; |
| | | private readonly IRepository<Enterprise> rep = rep; |
| | | private readonly IRepository<User> repUser = repUser; |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | if (user.EnterpriseId != entity.Id) throw Oops.Oh(EnumErrorCodeType.s405, "该账号"); |
| | | if (user.EnterpriseId != entity.Id) throw Oops.Oh(EnumErrorCodeType.s405, "账号"); |
| | | user.Name = request.Contacts; |
| | | user.PhoneNumber = request.ContactPhoneNumber; |
| | | if (request.Password.IsNotNull()) |
| | |
| | | /// <returns></returns> |
| | | public async Task<Guid> Handle(SetEnterpriseElectronSignSettingCommand request, CancellationToken cancellationToken) |
| | | { |
| | | var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | request.Adapt(entity); |
| | | var entity = await rep.AsQueryable() |
| | | .Include(it => it.ElectronSignSettings) |
| | | .FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | |
| | | await mediator.Send(new CheckElectronSignAccessEnabledsCommand |
| | | { |
| | | Accesses = request.ElectronSignAccesses |
| | | }, cancellationToken); |
| | | |
| | | entity.ElectronSignSettings = request.ElectronSignAccesses |
| | | .Select(it => |
| | | { |
| | | var setting = entity.ElectronSignSettings.FirstOrDefault(s => s.ElectronSignAccess == it); |
| | | if (setting == null) |
| | | { |
| | | setting = new EnterpriseElectronSignSetting |
| | | { |
| | | ElectronSignAccess = it |
| | | }; |
| | | } |
| | | return setting; |
| | | }) |
| | | .ToList(); |
| | | await rep.UpdateAsync(entity); |
| | | return entity.Id; |
| | | } |
| | |
| | | public async Task<Guid> Handle(SetEnterpriseSmsSettingCommand request, CancellationToken cancellationToken) |
| | | { |
| | | var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | request.Adapt(entity); |
| | | await rep.UpdateAsync(entity); |
| | | return entity.Id; |