HelperMetrologyFiles.SortAndDelete
HelperEventLog.ClearEventLogs
This commit is contained in:
@ -43,6 +43,7 @@ public class AppSettings
|
||||
|
||||
private static Models.AppSettings Get(AppSettings? appSettings,
|
||||
Models.EAFLogConfiguration eafLogConfiguration,
|
||||
Models.MetrologyConfiguration metrologyConfiguration,
|
||||
Models.StratusConfiguration stratusConfiguration,
|
||||
Models.WaferCounterConfiguration waferCounterConfiguration)
|
||||
{
|
||||
@ -56,6 +57,7 @@ public class AppSettings
|
||||
if (appSettings.WatchDirectory is null) throw new NullReferenceException(nameof(WatchDirectory));
|
||||
Verify(appSettings);
|
||||
result = new(eafLogConfiguration,
|
||||
metrologyConfiguration,
|
||||
stratusConfiguration,
|
||||
waferCounterConfiguration,
|
||||
appSettings.BuildNumber,
|
||||
@ -69,6 +71,7 @@ public class AppSettings
|
||||
|
||||
public static Models.AppSettings Get(IConfigurationRoot configurationRoot,
|
||||
Models.EAFLogConfiguration eafLogConfiguration,
|
||||
Models.MetrologyConfiguration metrologyConfiguration,
|
||||
Models.StratusConfiguration stratusConfiguration,
|
||||
Models.WaferCounterConfiguration waferCounterConfiguration)
|
||||
{
|
||||
@ -79,6 +82,7 @@ public class AppSettings
|
||||
PreVerify(configurationRoot, appSettings);
|
||||
result = Get(appSettings,
|
||||
eafLogConfiguration,
|
||||
metrologyConfiguration,
|
||||
stratusConfiguration,
|
||||
waferCounterConfiguration);
|
||||
return result;
|
||||
|
76
Models/Binder/MetrologyConfiguration.cs
Normal file
76
Models/Binder/MetrologyConfiguration.cs
Normal file
@ -0,0 +1,76 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace File_Watcher.Models.Binder;
|
||||
|
||||
public class MetrologyConfiguration
|
||||
{
|
||||
|
||||
public int? DirectoriesBack { get; set; }
|
||||
public int? DeleteOlderThanWeeks { get; set; }
|
||||
public string[]? HardcodedValues { get; set; }
|
||||
public string[]? SourceDirectories { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
string result = JsonSerializer.Serialize(this, BinderMetrologyConfigurationSourceGenerationContext.Default.MetrologyConfiguration);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void PreVerify(IConfigurationRoot configurationRoot, MetrologyConfiguration? configuration)
|
||||
{
|
||||
if (configuration?.DirectoriesBack is null)
|
||||
{
|
||||
foreach (IConfigurationProvider configurationProvider in configurationRoot.Providers)
|
||||
{
|
||||
if (configurationProvider is not Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider jsonConfigurationProvider)
|
||||
continue;
|
||||
if (jsonConfigurationProvider.Source.FileProvider is not Microsoft.Extensions.FileProviders.PhysicalFileProvider physicalFileProvider)
|
||||
continue;
|
||||
if (!physicalFileProvider.Root.Contains("UserSecrets"))
|
||||
continue;
|
||||
throw new NotSupportedException(physicalFileProvider.Root);
|
||||
}
|
||||
throw new NotSupportedException("Not Found!");
|
||||
}
|
||||
}
|
||||
|
||||
private static void Verify(MetrologyConfiguration _)
|
||||
{
|
||||
}
|
||||
|
||||
private static Models.MetrologyConfiguration Get(MetrologyConfiguration? configuration)
|
||||
{
|
||||
Models.MetrologyConfiguration result;
|
||||
if (configuration is null) throw new NullReferenceException(nameof(configuration));
|
||||
if (configuration.DirectoriesBack is null) throw new NullReferenceException(nameof(configuration.DirectoriesBack));
|
||||
if (configuration.DeleteOlderThanWeeks is null) throw new NullReferenceException(nameof(configuration.DeleteOlderThanWeeks));
|
||||
if (configuration.HardcodedValues is null) throw new NullReferenceException(nameof(configuration.HardcodedValues));
|
||||
if (configuration.SourceDirectories is null) throw new NullReferenceException(nameof(configuration.SourceDirectories));
|
||||
Verify(configuration);
|
||||
result = new(configuration.DirectoriesBack.Value,
|
||||
configuration.DeleteOlderThanWeeks.Value,
|
||||
configuration.HardcodedValues,
|
||||
configuration.SourceDirectories);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Models.MetrologyConfiguration Get(IConfigurationRoot configurationRoot)
|
||||
{
|
||||
Models.MetrologyConfiguration result;
|
||||
IConfigurationSection configurationSection = configurationRoot.GetSection(nameof(Models.MetrologyConfiguration));
|
||||
#pragma warning disable IL3050, IL2026
|
||||
MetrologyConfiguration? configuration = configurationSection.Get<MetrologyConfiguration>();
|
||||
#pragma warning restore IL3050, IL2026
|
||||
PreVerify(configurationRoot, configuration);
|
||||
result = Get(configuration);
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[JsonSourceGenerationOptions(WriteIndented = true)]
|
||||
[JsonSerializable(typeof(MetrologyConfiguration))]
|
||||
internal partial class BinderMetrologyConfigurationSourceGenerationContext : JsonSerializerContext
|
||||
{
|
||||
}
|
Reference in New Issue
Block a user