Make it possible to gather values using scoped ItemConfiguration

This commit is contained in:
TheXamlGuy
2024-06-05 22:22:06 +01:00
parent 5c6df1e611
commit 79bc00c878
19 changed files with 73 additions and 97 deletions
+10 -15
View File
@@ -3,28 +3,23 @@
namespace Bitvault;
public class ConfirmCreateItemHandler(IMediator mediator,
IDecoratorService<ItemConfiguration> decoratorItemConfiguration,
IPublisher publisher) :
INotificationHandler<ConfirmEventArgs<Item>>
{
public async Task Handle(ConfirmEventArgs<Item> args)
{
string? name = await mediator.Handle<ConfirmEventArgs<ItemHeader>,
string>(Confirm.As<ItemHeader>());
if (name is not null)
if (decoratorItemConfiguration.Value is ItemConfiguration configuration)
{
IList<(int, string)> sections = await mediator.HandleMany<ConfirmEventArgs<ItemSection>,
(int, string)>(Confirm.As<ItemSection>());
string? name = await mediator.Handle<ConfirmEventArgs<ItemHeader>, string>(Confirm.As<ItemHeader>());
if (name is not null)
{
Guid id = Guid.NewGuid();
publisher.Publish(Created.As(new Item<(Guid, string)>((id, name))));
IList<(int, ItemEntryConfiguration)> entries = await mediator.HandleMany<ConfirmEventArgs<ItemContentEntry>,
(int, ItemEntryConfiguration)>(Confirm.As<ItemContentEntry>());
Guid id = Guid.NewGuid();
publisher.Publish(Created.As(new Item<(Guid, string)>((id, name))));
await mediator.Handle<CreateEventArgs<(Guid, string, string,
ItemConfiguration)>, bool>(new CreateEventArgs<(Guid, string, string, ItemConfiguration)>((id, name, "",
new ItemConfiguration())));
await mediator.Handle<CreateEventArgs<(Guid, string, string,
ItemConfiguration)>, bool>(new CreateEventArgs<(Guid, string, string, ItemConfiguration)>((id, name, "", configuration)));
}
}
}
}