This commit is contained in:
Daniel Clark
2022-12-09 22:54:51 +00:00
parent 4c8fd3dae4
commit 9d97d437a6
28 changed files with 517 additions and 512 deletions
@@ -1,30 +1,29 @@
using Mediator;
namespace Toolkit.Foundation
namespace Toolkit.Foundation;
public class WriteHandler<TConfiguration> : IRequestHandler<Write<TConfiguration>> where TConfiguration : class
{
public class WriteHandler<TConfiguration> : IRequestHandler<Write<TConfiguration>> where TConfiguration : class
private readonly IMediator mediator;
private readonly TConfiguration configuration;
private readonly IConfigurationWriter<TConfiguration> writer;
public WriteHandler(TConfiguration configuration,
IConfigurationWriter<TConfiguration> writer,
IMediator mediator)
{
private readonly IMediator mediator;
private readonly TConfiguration configuration;
private readonly IConfigurationWriter<TConfiguration> writer;
this.mediator = mediator;
this.configuration = configuration;
this.writer = writer;
}
public WriteHandler(TConfiguration configuration,
IConfigurationWriter<TConfiguration> writer,
IMediator mediator)
{
this.mediator = mediator;
this.configuration = configuration;
this.writer = writer;
}
public async ValueTask<Unit> Handle(Write<TConfiguration> request, CancellationToken cancellationToken)
{
request.UpdateDelegate.Invoke(configuration);
writer.Write(request.Section, configuration);
public async ValueTask<Unit> Handle(Write<TConfiguration> request, CancellationToken cancellationToken)
{
request.UpdateDelegate.Invoke(configuration);
writer.Write(request.Section, configuration);
await mediator.Send(new ConfigurationChanged<TConfiguration>(configuration), cancellationToken);
await mediator.Send(new ConfigurationChanged<TConfiguration>(configuration), cancellationToken);
return default;
}
return default;
}
}