public void Handle(RoleEdited evt) { _unitOfWork.WithAuthUserTransaction(tran => { var authUser = _authUserRepository.FindById(evt.EditedBy); var adminLog = AdminLog.EditRoleLog(_idGenerator.ReservePool(), _clock, authUser, evt.RoleId, evt.Rolename); _adminLogRepository.Save(adminLog); tran.Commit(); }); }