| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using Abp.CachedUniqueKeys;
- using Abp.Configuration;
- using Abp.Dependency;
- using Abp.Events.Bus.Entities;
- using Abp.Events.Bus.Handlers;
- using Abp.Localization;
- using VberZero.BaseSystem.Organizations;
- using VberZero.BaseSystem.Users;
- namespace VberZero.Caching;
- public class GetScriptsResponsePerUserCacheInvalidator :
- IEventHandler<EntityChangedEventData<UserPermissionSetting>>,
- IEventHandler<EntityChangedEventData<UserRole>>,
- IEventHandler<EntityChangedEventData<UserOrganizationUnit>>,
- IEventHandler<EntityDeletedEventData<User>>,
- IEventHandler<EntityChangedEventData<OrganizationUnitRole>>,
- IEventHandler<EntityChangedEventData<LanguageInfo>>,
- IEventHandler<EntityChangedEventData<SettingInfo>>,
- ITransientDependency
- {
- private const string CacheName = "GetScriptsResponsePerUser";
- private readonly ICachedUniqueKeyPerUser _cachedUniqueKeyPerUser;
- public GetScriptsResponsePerUserCacheInvalidator(ICachedUniqueKeyPerUser cachedUniqueKeyPerUser)
- {
- _cachedUniqueKeyPerUser = cachedUniqueKeyPerUser;
- }
- public void HandleEvent(EntityChangedEventData<UserPermissionSetting> eventData)
- {
- _cachedUniqueKeyPerUser.RemoveKey(CacheName, eventData.Entity.TenantId, eventData.Entity.UserId);
- }
- public void HandleEvent(EntityChangedEventData<UserRole> eventData)
- {
- _cachedUniqueKeyPerUser.RemoveKey(CacheName, eventData.Entity.TenantId, eventData.Entity.UserId);
- }
- public void HandleEvent(EntityChangedEventData<UserOrganizationUnit> eventData)
- {
- _cachedUniqueKeyPerUser.RemoveKey(CacheName, eventData.Entity.TenantId, eventData.Entity.UserId);
- }
- public void HandleEvent(EntityDeletedEventData<User> eventData)
- {
- _cachedUniqueKeyPerUser.RemoveKey(CacheName, eventData.Entity.TenantId, eventData.Entity.Id);
- }
- public void HandleEvent(EntityChangedEventData<OrganizationUnitRole> eventData)
- {
- _cachedUniqueKeyPerUser.ClearCache(CacheName);
- }
- public void HandleEvent(EntityChangedEventData<LanguageInfo> eventData)
- {
- _cachedUniqueKeyPerUser.ClearCache(CacheName);
- }
- public void HandleEvent(EntityChangedEventData<SettingInfo> eventData)
- {
- _cachedUniqueKeyPerUser.ClearCache(CacheName);
- }
- }
|