This commit is contained in:
2024-05-21 07:47:34 -07:00
parent e32a942fde
commit 13b9731edf

View File

@ -90,26 +90,23 @@ public class AppSettings
Models.AppSettings? results; Models.AppSettings? results;
string? json; string? json;
if (appSettings is null || appSettings.ConfigurationFileName is null) if (appSettings is null || appSettings.ConfigurationFileName is null)
json = null; throw new NotSupportedException($"{nameof(appSettings.ConfigurationFileName)} must be set!");
string jsonFile = Path.Combine(AppContext.BaseDirectory, appSettings.ConfigurationFileName);
if (File.Exists(jsonFile))
json = File.ReadAllText(jsonFile);
else else
{ {
string jsonFile = Path.Combine(AppContext.BaseDirectory, appSettings.ConfigurationFileName); json = null;
if (File.Exists(jsonFile)) string applicationData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
json = File.ReadAllText(jsonFile); List<string> collection = [applicationData];
else if (appSettings?.ConfigurationDirectoryNames is not null)
{ collection.AddRange(appSettings.ConfigurationDirectoryNames);
json = null; if (appSettings?.ConfigurationFileName is not null)
string applicationData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); collection.Add(appSettings.ConfigurationFileName);
List<string> collection = [applicationData]; jsonFile = Path.Combine(collection.ToArray());
if (appSettings?.ConfigurationDirectoryNames is not null)
collection.AddRange(appSettings.ConfigurationDirectoryNames);
if (appSettings?.ConfigurationFileName is not null)
collection.Add(appSettings.ConfigurationFileName);
jsonFile = Path.Combine(collection.ToArray());
}
if (string.IsNullOrEmpty(json) && File.Exists(jsonFile))
json = File.ReadAllText(jsonFile);
} }
if (string.IsNullOrEmpty(json) && File.Exists(jsonFile))
json = File.ReadAllText(jsonFile);
results = (string.IsNullOrEmpty(json) ? null : results = JsonSerializer.Deserialize(json, AppSettingsSourceGenerationContext.Default.AppSettings)) ?? results = (string.IsNullOrEmpty(json) ? null : results = JsonSerializer.Deserialize(json, AppSettingsSourceGenerationContext.Default.AppSettings)) ??
throw new NullReferenceException(nameof(Models.AppSettings)); throw new NullReferenceException(nameof(Models.AppSettings));
results = Get(appSettings, results = Get(appSettings,