Modules/Framework/Gardener.SystemManager/Subscribes/FunctionDeleteClearRelationSubscriber.cs
(完整代码) 2KB// -----------------------------------------------------------------------------
// 园丁,是个很简单的管理系统
// gitee:https://gitee.com/hgflydream/Gardener
// issues:https://gitee.com/hgflydream/Gardener/issues
// -----------------------------------------------------------------------------
using Furion.DatabaseAccessor;
using Furion.DependencyInjection;
using Furion.EventBus;
using Gardener.Base.Entity;
using Gardener.Enums;
using Gardener.EventBus;
namespace Gardener.SystemManager.Subscribes
{
/// <summary>
/// 功能点变化清除关联关系
/// </summary>
public class FunctionDeleteClearRelationSubscriber : IEventSubscriber, ISingleton
{
/// <summary>
/// 功能点变化
/// </summary>
/// <param name="context"></param>
[EventSubscribe(nameof(EventType.EntityOperate) + nameof(Function) + nameof(EntityOperateType.Delete))]
[EventSubscribe(nameof(EventType.EntityOperate) + nameof(Function) + nameof(EntityOperateType.FakeDelete))]
public async Task Delete(EventHandlerExecutingContext context)
{
IEventSource eventSource = context.Source;
IRepository<ResourceFunction> resourceFunctionRepository = Db.GetRepository<ResourceFunction>();
Guid id = (Guid)eventSource.Payload;
await resourceFunctionRepository.DeleteNowAsync(resourceFunctionRepository.Where(x => id.Equals(x.FunctionId)));
}
/// <summary>
/// 功能点变化
/// </summary>
/// <param name="context"></param>
[EventSubscribe(nameof(EventType.EntityOperate) + nameof(Function) + nameof(EntityOperateType.Deletes))]
[EventSubscribe(nameof(EventType.EntityOperate) + nameof(Function) + nameof(EntityOperateType.FakeDeletes))]
public async Task Deletes(EventHandlerExecutingContext context)
{
IEventSource eventSource = context.Source;
IRepository<ResourceFunction> resourceFunctionRepository = Db.GetRepository<ResourceFunction>();
IEnumerable<Guid> ids = (IEnumerable<Guid>)eventSource.Payload;
await resourceFunctionRepository.DeleteNowAsync(resourceFunctionRepository.Where(x => ids.Contains(x.FunctionId)));
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
