Files
Hyperbar/Hyperbar.Widget/WidgetViewModelEnumerator.cs
TheXamlGuy 565c6866d8 wip
2024-02-10 20:19:01 +00:00

21 lines
724 B
C#

using Microsoft.Extensions.DependencyInjection;
namespace Hyperbar.Widget;
public class WidgetViewModelEnumerator(IWidgetHost host,
IPublisher publisher) :
INotificationHandler<Enumerate<IWidgetViewModel>>
{
public async Task Handle(Enumerate<IWidgetViewModel> notification,
CancellationToken cancellationToken)
{
if (host.Services.GetServices<IWidgetViewModel>() is IEnumerable<IWidgetViewModel> viewModels)
{
foreach (IWidgetViewModel viewModel in viewModels)
{
await publisher.PublishAsync(new Create<IWidgetViewModel>(viewModel),
nameof(IWidgetHostViewModel), cancellationToken);
}
}
}
}