public void Handle(UserLostRole evt) { _unitOfWork.WithAuthUserTransaction(tran => { var authUser = _authUserRepository.FindById(evt.RemovedBy); var adminLog = AdminLog.RoleLostLog(_idGenerator.ReservePool(), _clock, authUser, evt.RoleId, evt.Rolename, evt.UserId, evt.Username); _adminLogRepository.Save(adminLog); tran.Commit(); }); }
public void RemoveRole(UserId responsibleUserId, RoleId roleId, UserId userId) { _unitOfWork.WithAuthUserTransaction(tran => { var role = FindRole(roleId); var authUser = _authUserRepository.FindByIdOrNull(userId); if (authUser is null) { throw new ManualValidationException("User not found"); } _userRoleDomainService.RemoveRole(authUser, role); _authUserRepository.Save(authUser); _unitOfWork.Raise(UserLostRole.Factory(role, authUser, responsibleUserId)); tran.Commit(); }); }