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>, IEventHandler>, IEventHandler>, IEventHandler>, IEventHandler>, IEventHandler>, IEventHandler>, ITransientDependency { private const string CacheName = "GetScriptsResponsePerUser"; private readonly ICachedUniqueKeyPerUser _cachedUniqueKeyPerUser; public GetScriptsResponsePerUserCacheInvalidator(ICachedUniqueKeyPerUser cachedUniqueKeyPerUser) { _cachedUniqueKeyPerUser = cachedUniqueKeyPerUser; } public void HandleEvent(EntityChangedEventData eventData) { _cachedUniqueKeyPerUser.RemoveKey(CacheName, eventData.Entity.TenantId, eventData.Entity.UserId); } public void HandleEvent(EntityChangedEventData eventData) { _cachedUniqueKeyPerUser.RemoveKey(CacheName, eventData.Entity.TenantId, eventData.Entity.UserId); } public void HandleEvent(EntityChangedEventData eventData) { _cachedUniqueKeyPerUser.RemoveKey(CacheName, eventData.Entity.TenantId, eventData.Entity.UserId); } public void HandleEvent(EntityDeletedEventData eventData) { _cachedUniqueKeyPerUser.RemoveKey(CacheName, eventData.Entity.TenantId, eventData.Entity.Id); } public void HandleEvent(EntityChangedEventData eventData) { _cachedUniqueKeyPerUser.ClearCache(CacheName); } public void HandleEvent(EntityChangedEventData eventData) { _cachedUniqueKeyPerUser.ClearCache(CacheName); } public void HandleEvent(EntityChangedEventData eventData) { _cachedUniqueKeyPerUser.ClearCache(CacheName); } }