Skip to content

Commit

Permalink
Custom base directory setting
Browse files Browse the repository at this point in the history
  • Loading branch information
saddam213 committed Jun 12, 2024
1 parent f1b6c58 commit 8927bb4
Showing 1 changed file with 38 additions and 2 deletions.
40 changes: 38 additions & 2 deletions OnnxStack.Core/Config/ConfigManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,19 @@ namespace OnnxStack.Core.Config
{
public class ConfigManager
{
private static string _configurationBaseDirectory = AppDomain.CurrentDomain.BaseDirectory;


/// <summary>
/// Sets the configuration location.
/// </summary>
/// <param name="baseDirectory">The base directory.</param>
public static void SetConfiguration(string baseDirectory)
{
_configurationBaseDirectory = baseDirectory;
}


/// <summary>
/// Loads the OnnxStackConfig configuration object from appsetting.json
/// </summary>
Expand Down Expand Up @@ -88,19 +101,37 @@ private static JsonSerializerOptions GetSerializerOptions(params JsonConverter[]
return serializerOptions;
}


/// <summary>
/// Saves the configuration.
/// </summary>
/// <param name="configuration">The configuration.</param>
public static void SaveConfiguration(OnnxStackConfig configuration)
{
SaveConfiguration<OnnxStackConfig>(configuration);
}


/// <summary>
/// Saves the configuration.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="configuration">The configuration.</param>
public static void SaveConfiguration<T>(T configuration) where T : class, IConfigSection
{
SaveConfiguration<T>(typeof(T).Name, configuration);
}


/// <summary>
/// Saves the configuration.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="sectionName">Name of the section.</param>
/// <param name="configuration">The configuration.</param>
public static void SaveConfiguration<T>(string sectionName, T configuration) where T : class, IConfigSection
{

string appsettingStreamFile = GetAppSettingsFile();

// Read In File
Expand All @@ -118,9 +149,14 @@ public static void SaveConfiguration<T>(string sectionName, T configuration) whe
JsonSerializer.Serialize(appsettingWriteStream, appSettings, serializerOptions);
}


/// <summary>
/// Gets the application settings file.
/// </summary>
/// <returns></returns>
private static string GetAppSettingsFile()
{
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "appsettings.json");
return Path.Combine(_configurationBaseDirectory, "appsettings.json");
}
}
}

0 comments on commit 8927bb4

Please sign in to comment.