Start to port main gut of the foundation

This commit is contained in:
Daniel Clark
2022-12-05 17:47:16 +00:00
parent 82a83456f4
commit 3b09265a30
44 changed files with 1075 additions and 1 deletions
@@ -0,0 +1,28 @@
using CommunityToolkit.Mvvm.Messaging;
namespace Toolkit.Foundation
{
public class WriteHandler<TConfiguration> : IRecipient<Write<TConfiguration>> where TConfiguration : class
{
private readonly IMessenger messenger;
private readonly TConfiguration configuration;
private readonly IConfigurationWriter<TConfiguration> writer;
public WriteHandler(TConfiguration configuration,
IConfigurationWriter<TConfiguration> writer,
IMessenger messenger)
{
this.messenger = messenger;
this.configuration = configuration;
this.writer = writer;
}
public void Receive(Write<TConfiguration> request)
{
request.UpdateDelegate.Invoke(configuration);
writer.Write(request.Section, configuration);
messenger.Send(new ConfigurationChanged<TConfiguration>(configuration));
}
}
}