public void Handle(UserGainedRole evt) { _unitOfWork.WithAuthUserTransaction(tran => { var authUser = _authUserRepository.FindById(evt.AssignedBy); var adminLog = AdminLog.RoleGainedLog(_idGenerator.ReservePool(), _clock, authUser, evt.RoleId, evt.Rolename, evt.UserId, evt.Username); _adminLogRepository.Save(adminLog); tran.Commit(); }); }