Browse Source

CmsKit - Refactoring Menu caching

pull/9354/head
Enis Necipoğlu 5 years ago
parent
commit
d4e3ae0778
  1. 18
      modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs
  2. 12
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs
  3. 7
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs
  4. 23
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs

18
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<EntityUpdatedEventData<Menu>>, ITransientDependency
public class MenuUpdatedHandler : ILocalEventHandler<EntityUpdatedEventData<Menu>>, ITransientDependency
{
public IDistributedEventBus EventBus { get; }
public MenuUpdatedHandler(IDistributedEventBus eventBus)
protected IDistributedCache<MenuWithDetailsDto, MainMenuCacheKey> DistributedCache { get; }
public MenuUpdatedHandler(IDistributedCache<MenuWithDetailsDto, MainMenuCacheKey> distributedCache)
{
EventBus = eventBus;
DistributedCache = distributedCache;
}
public async Task HandleEventAsync(EntityUpdatedEventData<Menu> eventData)
{
await EventBus.PublishAsync(new MenuUpdatedEto
{
MenuId = eventData.Entity.Id
});
await DistributedCache.RemoveAsync(new MainMenuCacheKey());
}
}
}

12
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/MenuUpdatedEto.cs

@ -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; }
}
}

7
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, MenuWithDetailsDto>(menu);
});
if (cachedMenu == null)
{
return null;
}
return cachedMenu;
}
}

23
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuUpdatedHandler.cs

@ -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<MenuUpdatedEto>, ITransientDependency
{
protected IDistributedCache<MenuWithDetailsDto, MainMenuCacheKey> DistributedCache { get; }
public MenuUpdatedHandler(IDistributedCache<MenuWithDetailsDto, MainMenuCacheKey> distributedCache)
{
DistributedCache = distributedCache;
}
public async Task HandleEventAsync(MenuUpdatedEto eventData)
{
await DistributedCache.RemoveAsync(new MainMenuCacheKey());
}
}
}
Loading…
Cancel
Save