using Toolkit.Foundation; namespace Wallet; public class ItemChangedHandler(IMediator mediator, IPublisher publisher) : INotificationHandler> { public async Task Handle(ChangedEventArgs args) { IReadOnlyCollection<(string, int)>? counts = await mediator.Handle, IReadOnlyCollection<(string, int)>>(Count.As()); if (counts is { Count: > 0 }) { foreach ((string key, int count) in counts) { publisher.Publish(Notify.As(new Item(count)), key); } } } }