Make it possible to feed in options to the Enumerate handler

This commit is contained in:
TheXamlGuy
2024-05-05 20:43:17 +01:00
parent 605a0284b5
commit ead288ab52
11 changed files with 124 additions and 28 deletions
+33 -8
View File
@@ -4,19 +4,44 @@ namespace Bitvault;
public class VaultViewModelHandler(IServiceFactory factory,
IPublisher publisher) :
INotificationHandler<Enumerate<LockerNavigationViewModel>>
INotificationHandler<Enumerate<LockerNavigationViewModel, VaultViewModelOptions>>
{
public async Task Handle(Enumerate<LockerNavigationViewModel> args,
public async Task Handle(Enumerate<LockerNavigationViewModel, VaultViewModelOptions> args,
CancellationToken cancellationToken = default)
{
Random rnd = new Random();
int d = rnd.Next(5, 10);
for (int i = 0; i < 2; i++)
if (args.Options?.Filter is "All")
{
if (factory.Create<LockerNavigationViewModel>() is LockerNavigationViewModel viewModel)
for (int i = 0; i < 100; i++)
{
await publisher.Publish(new Create<LockerNavigationViewModel>(viewModel),
nameof(VaultViewModel), cancellationToken);
if (factory.Create<LockerNavigationViewModel>() is LockerNavigationViewModel viewModel)
{
await publisher.Publish(new Create<LockerNavigationViewModel>(viewModel),
nameof(VaultViewModel), cancellationToken);
}
}
}
if (args.Options?.Filter is "Starred")
{
for (int i = 0; i < 10; i++)
{
if (factory.Create<LockerNavigationViewModel>() is LockerNavigationViewModel viewModel)
{
await publisher.Publish(new Create<LockerNavigationViewModel>(viewModel),
nameof(VaultViewModel), cancellationToken);
}
}
}
if (args.Options?.Filter is "Archive")
{
for (int i = 0; i < 100000; i++)
{
if (factory.Create<LockerNavigationViewModel>() is LockerNavigationViewModel viewModel)
{
await publisher.Publish(new Create<LockerNavigationViewModel>(viewModel),
nameof(VaultViewModel), cancellationToken);
}
}
}
}