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
+17 -15
View File
@@ -2,27 +2,29 @@
namespace Bitvault;
//[Aggerate(nameof(ItemContentViewModel))]
public partial class ItemContentViewModel :
ObservableCollection<IItemEntryViewModel>,
public partial class ItemContentViewModel(IServiceProvider provider,
IServiceFactory factory, IMediator mediator,
IPublisher publisher,
ISubscription subscriber,
IDisposer disposer,
IContentTemplate template,
ItemState state = ItemState.Read) :
ObservableCollection<IItemEntryViewModel>(provider, factory, mediator, publisher, subscriber, disposer),
IItemEntryViewModel,
INotificationHandler<NotifyEventArgs<ItemCategory<string>>>
{
public ItemContentViewModel(IServiceProvider provider,
IServiceFactory factory, IMediator mediator,
IPublisher publisher,
ISubscription subscriber,
IDisposer disposer,
IContentTemplate template,
ItemState state = ItemState.Read) : base(provider, factory, mediator, publisher, subscriber, disposer)
{
Template = template;
}
public IContentTemplate Template { get; set; }
public IContentTemplate Template { get; set; } = template;
public Task Handle(NotifyEventArgs<ItemCategory<string>> args)
{
if (args.Value is ItemCategory<string> category)
{
if (category.Value is string value)
{
Fetch(() => new AggregateExpression(new AggerateEventArgs<IItemEntryViewModel, string>(value)), true);
}
}
return Task.CompletedTask;
}
}