using Toolkit.Foundation; namespace Wallet; public class DropdownEntryViewModelHandler(IServiceFactory serviceFactory) : IHandler, IItemEntryViewModel?> { public Task Handle(CreateEventArgs args, CancellationToken cancellationToken) { if (args.Sender is DropdownEntryConfiguration configuration) { List values = []; foreach (string item in configuration.Values) { values.Add(serviceFactory.Create(item)); } string? label = configuration.Label; object? value = configuration.Value ?? ""; double? width = configuration.Width; DropdownValueViewModel? selected = values.FirstOrDefault(x => x.Value is not null && x.Value.Equals($"{value}")); if (serviceFactory.Create([values, .. args.Parameters, configuration, label, value, width, selected]) is DropdownEntryViewModel viewModel) { return Task.FromResult(viewModel); } } return Task.FromResult(default); } }