namespace Hyperbar.Windows.Primary; public class ConfigurationChangedHandler(IMediator mediator, PrimaryWidgetConfiguration configuration, IViewModelFactory factory, IViewModelCache cache) : INotificationHandler> { public async ValueTask Handle(ConfigurationChanged notification, CancellationToken cancellationToken) { foreach (KeyValuePair cached in cache) { if (configuration.FirstOrDefault(x => x.Id == cached.Key) == null) { await mediator.PublishAsync(new Removed(cached.Value), cancellationToken); cache.Remove(cached.Key); } } foreach (PrimaryCommandConfiguration item in configuration) { //if (!cache.ContainsKey(item.Id)) //{ // factory.CreateAsync(item); //} //else //{ //} } } }