Files
Hyperbar/Hyperbar.Widget/WidgetViewModelEnumerator.cs
T
TheXamlGuy 731cf3cdf3 More work
2024-02-04 14:08:38 +00:00

21 lines
722 B
C#

using Microsoft.Extensions.DependencyInjection;
namespace Hyperbar.Widget;
public class WidgetViewModelEnumerator(IWidgetHost host,
IMediator mediator) :
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 mediator.PublishAsync(new Created<IWidgetViewModel>(viewModel),
nameof(IWidgetHostViewModel), cancellationToken);
}
}
}
}