erp-platform/api/modules/Kurs.Languages/Kurs.Languages.Domain/Languages/LanguageTextCacheItemInvalidator.cs
Sedat ÖZTÜRK e1a9562b22 init project
2025-05-06 09:45:49 +03:00

28 lines
881 B
C#

using System.Threading.Tasks;
using Kurs.Languages.Entities;
using Volo.Abp.Caching;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities.Events;
using Volo.Abp.EventBus;
namespace Kurs.Languages;
public class LanguageTextCacheItemInvalidator :
ILocalEventHandler<EntityChangedEventData<LanguageText>>,
ITransientDependency
{
private readonly IDistributedCache<LanguageTextCacheItem> cache;
public LanguageTextCacheItemInvalidator(IDistributedCache<LanguageTextCacheItem> cache)
{
this.cache = cache;
}
public async Task HandleEventAsync(EntityChangedEventData<LanguageText> eventData)
{
//distributedCacheOptions.Value.KeyPrefix
var key = LanguageTextCacheItem.CalculateCacheKey(eventData.Entity.ResourceName, eventData.Entity.CultureName);
await cache.RemoveAsync(key);
return;
}
}