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
@@ -2,30 +2,28 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace Toolkit.Foundation
namespace Toolkit.Foundation;
public class ConfigurationWriter<TConfiguration> : IConfigurationWriter<TConfiguration> where TConfiguration : class, new()
{
public class ConfigurationWriter<TConfiguration> : IConfigurationWriter<TConfiguration> where TConfiguration : class, new()
private readonly IConfiguration rootConfiguration;
public ConfigurationWriter(IConfiguration rootConfiguration)
{
private readonly IConfiguration rootConfiguration;
this.rootConfiguration = rootConfiguration;
}
public ConfigurationWriter(IConfiguration rootConfiguration)
public void Write(string section, TConfiguration configuration)
{
if (rootConfiguration is IConfigurationRoot root)
{
this.rootConfiguration = rootConfiguration;
}
public void Write(string section, TConfiguration configuration)
{
if (rootConfiguration is IConfigurationRoot root)
foreach (IConfigurationProvider? provider in root.Providers)
{
foreach (IConfigurationProvider? provider in root.Providers)
if (provider is IWritableConfigurationProvider writableConfigurationProvider)
{
if (provider is IWritableConfigurationProvider writableConfigurationProvider)
{
writableConfigurationProvider.Write(section, configuration);
}
writableConfigurationProvider.Write(section, configuration);
}
}
}
}
}