Files
Walleby/Bitvault/ItemDropdownEntryViewModelHandler.cs
T
2024-06-06 23:01:23 +01:00

23 lines
829 B
C#

using Toolkit.Foundation;
namespace Bitvault;
public class ItemDropdownEntryViewModelHandler(IServiceFactory serviceFactory) :
IHandler<CreateEventArgs<DropdownEntryConfiguration>, IItemEntryViewModel?>
{
public Task<IItemEntryViewModel?> Handle(CreateEventArgs<DropdownEntryConfiguration> args,
CancellationToken cancellationToken)
{
if (args.Value is DropdownEntryConfiguration configuration)
{
if (serviceFactory.Create<ItemDropdownEntryViewModel>([.. args.Parameters, configuration, configuration.Label, configuration.Value ?? ""])
is ItemDropdownEntryViewModel viewModel)
{
return Task.FromResult<IItemEntryViewModel?>(viewModel);
}
}
return Task.FromResult<IItemEntryViewModel?>(default);
}
}