using Toolkit.Foundation; namespace Bitvault; public class ConfirmCreateItemHandler(IMediator mediator, IPublisher publisher) : INotificationHandler> { public async Task Handle(ConfirmEventArgs args) { string? name = await mediator.Handle, string>(Confirm.As()); if (name is not null) { IList<(int, string)> sections = await mediator.HandleMany, (int, string)>(Confirm.As()); IList<(int, ItemEntryConfiguration)> entries = await mediator.HandleMany, (int, ItemEntryConfiguration)>(Confirm.As()); Guid id = Guid.NewGuid(); publisher.Publish(Created.As(new Item<(Guid, string)>((id, name)))); await mediator.Handle, bool>(new CreateEventArgs<(Guid, string, string, ItemConfiguration)>((id, name, "", new ItemConfiguration()))); } } }