From 7b68e0189ad3e915a9fdec066e1982056d9fc0b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enis=20Necipo=C4=9Flu?= Date: Thu, 17 Jun 2021 10:52:57 +0300 Subject: [PATCH 1/5] CmsKit - Add caching to MainMenu --- .../Volo/CmsKit/Menus/MenuItemDto.cs | 1 + .../Volo/CmsKit/Menus/MenuWithDetailsDto.cs | 2 ++ .../Volo/CmsKit/Menus/MainMenuCacheKey.cs | 10 ++++++ .../Volo/CmsKit/Menus/MenuUpdatedHandler.cs | 26 ++++++++++++++ .../CmsKit/Localization/Resources/en.json | 2 +- .../Volo/CmsKit/Menus/MenuChangedEto.cs | 13 +++++++ .../Volo/CmsKit/Menus/MenuUpdatedEto.cs | 12 +++++++ .../Public/Menus/MenuPublicAppService.cs | 34 +++++++++++++++---- .../CmsKit/Public/Menus/MenuUpdatedHandler.cs | 23 +++++++++++++ 9 files changed, 115 insertions(+), 8 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuChangedEto.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuItemDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuItemDto.cs index c6c054e5d7..633b9af1a4 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuItemDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuItemDto.cs @@ -4,6 +4,7 @@ using Volo.Abp.Application.Dtos; namespace Volo.CmsKit.Menus { + [Serializable] public class MenuItemDto : AuditedEntityDto { public Guid MenuId { get; set; } diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuWithDetailsDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuWithDetailsDto.cs index 85cc6b431f..5a28bb22e6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuWithDetailsDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Menus/MenuWithDetailsDto.cs @@ -7,10 +7,12 @@ using Volo.Abp.Application.Dtos; namespace Volo.CmsKit.Menus { + [Serializable] public class MenuWithDetailsDto : FullAuditedEntityDto { public string Name { get; set; } + public bool IsMainMenu { get; set; } public List Items { get; set; } diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs new file mode 100644 index 0000000000..e7d79a4c7c --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs @@ -0,0 +1,10 @@ +namespace Volo.CmsKit.Public.Menus +{ + public class MainMenuCacheKey + { + public override string ToString() + { + return "MainMenu"; + } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs new file mode 100644 index 0000000000..b9d4cfabc4 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs @@ -0,0 +1,26 @@ +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Entities.Events; +using Volo.Abp.EventBus; +using Volo.Abp.EventBus.Distributed; + +namespace Volo.CmsKit.Menus +{ + public class MenuUpdatedHandler : ILocalEventHandler>, ITransientDependency + { + public IDistributedEventBus EventBus { get; } + + public MenuUpdatedHandler(IDistributedEventBus eventBus) + { + EventBus = eventBus; + } + + public async Task HandleEventAsync(EntityUpdatedEventData eventData) + { + await EventBus.PublishAsync(new MenuUpdatedEto + { + MenuId = eventData.Entity.Id + }); + } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json index 0dd924289b..fc7a1884ef 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json @@ -1,7 +1,7 @@ { "culture": "en", "texts": { - "AddSubMenuItem": "New Sub-MenuItem", + "AddSubMenuItem": "Add Sub Menu Item", "AreYouSure": "Are You Sure?", "BlogDeletionConfirmationMessage": "The blog '{0}' will be deleted. Are you sure?", "BlogFeatureNotAvailable": "This feature is not available now. Enable with 'GlobalFeatureManager' to use it.", diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuChangedEto.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuChangedEto.cs new file mode 100644 index 0000000000..f4e492e0d0 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuChangedEto.cs @@ -0,0 +1,13 @@ +using System; +using Volo.Abp.Domain.Entities.Events.Distributed; +using Volo.Abp.EventBus; + +namespace Volo.CmsKit.Menus +{ + [Serializable] + [EventName("Volo.CmsKit.Menus.Changed")] + public class MenuChangedEto : EtoBase + { + public Guid MenuId { get; set; } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs new file mode 100644 index 0000000000..75c6474d9b --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs @@ -0,0 +1,12 @@ +using System; +using Volo.Abp.Domain.Entities.Events.Distributed; +using Volo.Abp.EventBus; + +namespace Volo.CmsKit.Menus +{ + [EventName("Volo.CmsKit.Menus.Updated")] + public class MenuUpdatedEto : EtoBase + { + public Guid MenuId { get; set; } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs index 7e6989d0d6..76c648238a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs @@ -1,30 +1,50 @@ +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; +using Volo.Abp.Caching; using Volo.Abp.GlobalFeatures; using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Menus; namespace Volo.CmsKit.Public.Menus -{ +{ [RequiresGlobalFeature(typeof(MenuFeature))] public class MenuPublicAppService : CmsKitPublicAppServiceBase, IMenuPublicAppService { protected IMenuRepository MenuRepository { get; } - public MenuPublicAppService(IMenuRepository menuRepository) + protected IDistributedCache DistributedCache { get; } + + public MenuPublicAppService( + IMenuRepository menuRepository, + IDistributedCache distributedCache) { MenuRepository = menuRepository; + DistributedCache = distributedCache; } - + public async Task GetMainMenuAsync() { - var menu = await MenuRepository.FindMainMenuAsync(includeDetails: true); + var cachedMenu = await DistributedCache.GetOrAddAsync( + new MainMenuCacheKey(), + async () => + { + var menu = await MenuRepository.FindMainMenuAsync(includeDetails: true); + + if (menu == null) + { + return null; + } - if (menu == null) + return ObjectMapper.Map(menu); + }); + + if (cachedMenu == null) { return null; } - - return ObjectMapper.Map(menu); + + return cachedMenu; } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs new file mode 100644 index 0000000000..2c21cd254f --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs @@ -0,0 +1,23 @@ +using System.Threading.Tasks; +using Volo.Abp.Caching; +using Volo.Abp.DependencyInjection; +using Volo.Abp.EventBus.Distributed; +using Volo.CmsKit.Menus; + +namespace Volo.CmsKit.Public.Menus +{ + public class MenuUpdatedHandler : IDistributedEventHandler, ITransientDependency + { + protected IDistributedCache DistributedCache { get; } + + public MenuUpdatedHandler(IDistributedCache distributedCache) + { + DistributedCache = distributedCache; + } + + public async Task HandleEventAsync(MenuUpdatedEto eventData) + { + await DistributedCache.RemoveAsync(new MainMenuCacheKey()); + } + } +} \ No newline at end of file From 4d76db88500ba1f6cb33b2ab02d3b4d7f7b5b6ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enis=20Necipo=C4=9Flu?= Date: Thu, 17 Jun 2021 10:56:41 +0300 Subject: [PATCH 2/5] CmsKit - Remove MenuChangedEto --- .../Volo/CmsKit/Menus/MenuChangedEto.cs | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuChangedEto.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuChangedEto.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuChangedEto.cs deleted file mode 100644 index f4e492e0d0..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Menus/MenuChangedEto.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using Volo.Abp.Domain.Entities.Events.Distributed; -using Volo.Abp.EventBus; - -namespace Volo.CmsKit.Menus -{ - [Serializable] - [EventName("Volo.CmsKit.Menus.Changed")] - public class MenuChangedEto : EtoBase - { - public Guid MenuId { get; set; } - } -} \ No newline at end of file From d4e3ae0778a2e0440ec471e2e026e87c0b3dd42c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enis=20Necipo=C4=9Flu?= Date: Thu, 17 Jun 2021 15:17:06 +0300 Subject: [PATCH 3/5] CmsKit - Refactoring Menu caching --- .../Volo/CmsKit/Menus/MenuUpdatedHandler.cs | 18 +++++++-------- .../Volo/CmsKit/Menus/MenuUpdatedEto.cs | 12 ---------- .../Public/Menus/MenuPublicAppService.cs | 7 +----- .../CmsKit/Public/Menus/MenuUpdatedHandler.cs | 23 ------------------- 4 files changed, 9 insertions(+), 51 deletions(-) delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs index b9d4cfabc4..ae95be4057 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs @@ -1,26 +1,24 @@ using System.Threading.Tasks; +using Volo.Abp.Caching; using Volo.Abp.DependencyInjection; using Volo.Abp.Domain.Entities.Events; using Volo.Abp.EventBus; -using Volo.Abp.EventBus.Distributed; +using Volo.CmsKit.Public.Menus; namespace Volo.CmsKit.Menus { - public class MenuUpdatedHandler : ILocalEventHandler>, ITransientDependency + public class MenuUpdatedHandler : ILocalEventHandler>, ITransientDependency { - public IDistributedEventBus EventBus { get; } - - public MenuUpdatedHandler(IDistributedEventBus eventBus) + protected IDistributedCache DistributedCache { get; } + + public MenuUpdatedHandler(IDistributedCache distributedCache) { - EventBus = eventBus; + DistributedCache = distributedCache; } public async Task HandleEventAsync(EntityUpdatedEventData eventData) { - await EventBus.PublishAsync(new MenuUpdatedEto - { - MenuId = eventData.Entity.Id - }); + await DistributedCache.RemoveAsync(new MainMenuCacheKey()); } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs deleted file mode 100644 index 75c6474d9b..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using Volo.Abp.Domain.Entities.Events.Distributed; -using Volo.Abp.EventBus; - -namespace Volo.CmsKit.Menus -{ - [EventName("Volo.CmsKit.Menus.Updated")] - public class MenuUpdatedEto : EtoBase - { - public Guid MenuId { get; set; } - } -} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs index 76c648238a..c737367738 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs @@ -33,17 +33,12 @@ namespace Volo.CmsKit.Public.Menus if (menu == null) { - return null; + return new MenuWithDetailsDto(); } return ObjectMapper.Map(menu); }); - if (cachedMenu == null) - { - return null; - } - return cachedMenu; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs deleted file mode 100644 index 2c21cd254f..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Threading.Tasks; -using Volo.Abp.Caching; -using Volo.Abp.DependencyInjection; -using Volo.Abp.EventBus.Distributed; -using Volo.CmsKit.Menus; - -namespace Volo.CmsKit.Public.Menus -{ - public class MenuUpdatedHandler : IDistributedEventHandler, ITransientDependency - { - protected IDistributedCache DistributedCache { get; } - - public MenuUpdatedHandler(IDistributedCache distributedCache) - { - DistributedCache = distributedCache; - } - - public async Task HandleEventAsync(MenuUpdatedEto eventData) - { - await DistributedCache.RemoveAsync(new MainMenuCacheKey()); - } - } -} \ No newline at end of file From f3c6b28eb3b8a1ef47af21767c0d7d4379dbb046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enis=20Necipo=C4=9Flu?= Date: Thu, 17 Jun 2021 15:21:46 +0300 Subject: [PATCH 4/5] CmsKit - Remove composite cache key class for Menu --- .../Volo/CmsKit/Menus/MainMenuCacheKey.cs | 10 ---------- .../Volo/CmsKit/Menus/MenuApplicationConsts.cs | 7 +++++++ .../Volo/CmsKit/Menus/MenuUpdatedHandler.cs | 7 +++---- .../Volo/CmsKit/Public/Menus/MenuPublicAppService.cs | 6 +++--- 4 files changed, 13 insertions(+), 17 deletions(-) delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuApplicationConsts.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs deleted file mode 100644 index e7d79a4c7c..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Volo.CmsKit.Public.Menus -{ - public class MainMenuCacheKey - { - public override string ToString() - { - return "MainMenu"; - } - } -} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuApplicationConsts.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuApplicationConsts.cs new file mode 100644 index 0000000000..308680dd30 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuApplicationConsts.cs @@ -0,0 +1,7 @@ +namespace Volo.CmsKit.Menus +{ + public static class MenuApplicationConsts + { + public static string MainMenuCacheKey = "MainMenu"; + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs index ae95be4057..9db5bc4967 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs @@ -3,22 +3,21 @@ using Volo.Abp.Caching; using Volo.Abp.DependencyInjection; using Volo.Abp.Domain.Entities.Events; using Volo.Abp.EventBus; -using Volo.CmsKit.Public.Menus; namespace Volo.CmsKit.Menus { public class MenuUpdatedHandler : ILocalEventHandler>, ITransientDependency { - protected IDistributedCache DistributedCache { get; } + protected IDistributedCache DistributedCache { get; } - public MenuUpdatedHandler(IDistributedCache distributedCache) + public MenuUpdatedHandler(IDistributedCache distributedCache) { DistributedCache = distributedCache; } public async Task HandleEventAsync(EntityUpdatedEventData eventData) { - await DistributedCache.RemoveAsync(new MainMenuCacheKey()); + await DistributedCache.RemoveAsync(MenuApplicationConsts.MainMenuCacheKey); } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs index c737367738..891aec1e76 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs @@ -13,11 +13,11 @@ namespace Volo.CmsKit.Public.Menus { protected IMenuRepository MenuRepository { get; } - protected IDistributedCache DistributedCache { get; } + protected IDistributedCache DistributedCache { get; } public MenuPublicAppService( IMenuRepository menuRepository, - IDistributedCache distributedCache) + IDistributedCache distributedCache) { MenuRepository = menuRepository; DistributedCache = distributedCache; @@ -26,7 +26,7 @@ namespace Volo.CmsKit.Public.Menus public async Task GetMainMenuAsync() { var cachedMenu = await DistributedCache.GetOrAddAsync( - new MainMenuCacheKey(), + MenuApplicationConsts.MainMenuCacheKey, async () => { var menu = await MenuRepository.FindMainMenuAsync(includeDetails: true); From 411b614df9b4c8e8fcad14cc626350a5b699a804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enis=20Necipo=C4=9Flu?= Date: Fri, 18 Jun 2021 08:20:27 +0300 Subject: [PATCH 5/5] CmsKit - Handle Menu deleted for cache purging --- .../Volo/CmsKit/Menus/MenuChangedHandler.cs | 31 +++++++++++++++++++ .../Volo/CmsKit/Menus/MenuUpdatedHandler.cs | 23 -------------- 2 files changed, 31 insertions(+), 23 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuChangedHandler.cs delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuChangedHandler.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuChangedHandler.cs new file mode 100644 index 0000000000..1bef58fd9d --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuChangedHandler.cs @@ -0,0 +1,31 @@ +using System.Threading.Tasks; +using Volo.Abp.Caching; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Entities.Events; +using Volo.Abp.EventBus; + +namespace Volo.CmsKit.Menus +{ + public class MenuChangedHandler : + ILocalEventHandler>, + ILocalEventHandler>, + ITransientDependency + { + protected IDistributedCache DistributedCache { get; } + + public MenuChangedHandler(IDistributedCache distributedCache) + { + DistributedCache = distributedCache; + } + + public Task HandleEventAsync(EntityUpdatedEventData eventData) + { + return DistributedCache.RemoveAsync(MenuApplicationConsts.MainMenuCacheKey); + } + + public Task HandleEventAsync(EntityDeletedEventData eventData) + { + return DistributedCache.RemoveAsync(MenuApplicationConsts.MainMenuCacheKey); + } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs deleted file mode 100644 index 9db5bc4967..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Threading.Tasks; -using Volo.Abp.Caching; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Entities.Events; -using Volo.Abp.EventBus; - -namespace Volo.CmsKit.Menus -{ - public class MenuUpdatedHandler : ILocalEventHandler>, ITransientDependency - { - protected IDistributedCache DistributedCache { get; } - - public MenuUpdatedHandler(IDistributedCache distributedCache) - { - DistributedCache = distributedCache; - } - - public async Task HandleEventAsync(EntityUpdatedEventData eventData) - { - await DistributedCache.RemoveAsync(MenuApplicationConsts.MainMenuCacheKey); - } - } -} \ No newline at end of file