Files
Walleby/Bitvault/VaultViewModelHandler.cs
T
TheXamlGuy ed54c27269 wip
2024-05-06 21:17:20 +01:00

48 lines
1.8 KiB
C#

using Toolkit.Foundation;
namespace Bitvault;
public class VaultViewModelHandler(IServiceFactory factory,
IPublisher publisher) :
INotificationHandler<Enumerate<VaultContentNavigationViewModel, VaultViewModelOptions>>
{
public async Task Handle(Enumerate<VaultContentNavigationViewModel, VaultViewModelOptions> args,
CancellationToken cancellationToken = default)
{
if (args.Options?.Filter is "All")
{
for (int i = 0; i < 100; i++)
{
if (factory.Create<VaultContentNavigationViewModel>("Name " + i, "Description " + 1) is VaultContentNavigationViewModel viewModel)
{
await publisher.Publish(new Create<VaultContentNavigationViewModel>(viewModel),
nameof(VaultViewModel), cancellationToken);
}
}
}
if (args.Options?.Filter is "Starred")
{
for (int i = 0; i < 10; i++)
{
if (factory.Create<VaultContentNavigationViewModel>("Name " + i, "Description " + 1) is VaultContentNavigationViewModel viewModel)
{
await publisher.Publish(new Create<VaultContentNavigationViewModel>(viewModel),
nameof(VaultViewModel), cancellationToken);
}
}
}
if (args.Options?.Filter is "Archive")
{
for (int i = 0; i < 1000; i++)
{
if (factory.Create<VaultContentNavigationViewModel>("Name " + i, "Description " + 1) is VaultContentNavigationViewModel viewModel)
{
await publisher.Publish(new Create<VaultContentNavigationViewModel>(viewModel),
nameof(VaultViewModel), cancellationToken);
}
}
}
}
}