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