using Nop.Core.Domain.Catalog; using Nop.Services.Caching; namespace Nop.Services.Catalog.Caching; /// /// Represents a specification attribute cache event consumer /// public partial class SpecificationAttributeCacheEventConsumer : CacheEventConsumer { /// /// Clear cache data /// /// Entity /// Entity event type /// A task that represents the asynchronous operation protected override async Task ClearCacheAsync(SpecificationAttribute entity, EntityEventType entityEventType) { await RemoveAsync(NopCatalogDefaults.SpecificationAttributesWithOptionsCacheKey); if (entityEventType != EntityEventType.Insert) { await RemoveByPrefixAsync(NopCatalogDefaults.ProductSpecificationAttributeAllByProductPrefix); await RemoveByPrefixAsync(NopCatalogDefaults.SpecificationAttributeGroupByProductPrefix); await RemoveByPrefixAsync(NopCatalogDefaults.FilterableSpecificationAttributeOptionsPrefix); } await base.ClearCacheAsync(entity, entityEventType); } }