CmsKit - Refactoring Menu caching

pull/9354/head
Enis Necipoğlu 4 years ago
parent 4d76db8850
commit d4e3ae0778

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

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

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

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