using Toolkit.Foundation; namespace Wallet; public class CommentEntryCollectionViewModelHandler(IServiceFactory serviceFactory) : IHandler, IItemEntryViewModel?> { public Task Handle(CreateEventArgs args, CancellationToken cancellationToken) { if (args.Sender is CommentEntryCollectionConfiguration configuration) { string? label = configuration.Label; List values = configuration.Value is not null ? new List(configuration.Value) : []; double? width = configuration.Width; if (serviceFactory.Create(args => args.Initialize(), [.. args.Parameters, configuration, label, values, false, false, width]) is CommentEntryCollectionViewModel viewModel) { foreach (Comment value in values.OrderByDescending(x => x.DateTime)) { viewModel.Add(value.DateTime, value.Text); } return Task.FromResult(viewModel); } } return Task.FromResult(default); } }