using Kean.Domain.Basic.Events; using Kean.Domain.Basic.Repositories; using System.Threading; using System.Threading.Tasks; namespace Kean.Domain.Basic.EventHandlers { /// /// 删除角色成功时,清理用户角色 /// public sealed class DeleteRoleSuccessEventHandler_User : EventHandler { private readonly IRoleRepository _roleRepository; // 角色仓库 /// /// 依赖注入 /// public DeleteRoleSuccessEventHandler_User( IRoleRepository roleRepository) { _roleRepository = roleRepository; } /// /// 处理程序 /// public override async Task Handle(DeleteRoleSuccessEvent @event, CancellationToken cancellationToken) { foreach (var item in @event.Id) { await _roleRepository.ClearUserRole(item); } } } }