Add supported for key mediator handelrs

This commit is contained in:
TheXamlGuy
2024-06-02 15:00:59 +01:00
parent 5a0c3bf317
commit 71f86be715
35 changed files with 321 additions and 71 deletions
@@ -0,0 +1,30 @@
using Toolkit.Foundation;
namespace Bitvault;
public class AggregateItemContentFromCategoryViewModelHandler(IItemConfigurationCollection configurations,
IMediator mediator,
IPublisher publisher) :
INotificationHandler<AggerateEventArgs<IItemEntryViewModel, string>>
{
public async Task Handle(AggerateEventArgs<IItemEntryViewModel, string> args)
{
if (args.Value is string category)
{
if (configurations.TryGetValue(category, out Func<ItemConfiguration>? factory))
{
if (factory.Invoke() is ItemConfiguration configuration)
{
foreach (ItemSectionConfiguration section in configuration.Sections)
{
foreach (ItemEntryConfiguration entryConfiguration in section.Entries)
{
var dod = await mediator.Handle<ItemEntryConfiguration, IItemEntryViewModel?>(entryConfiguration,
entryConfiguration.GetType().Name);
}
}
}
}
}
}
}