common/Ui/Common.UI/Infrastructure/Appsettings.cs
2026-04-23 17:50:07 +02:00

56 lines
1.5 KiB
C#

namespace Common.UI.Infrastructure
{
using System;
using System.Configuration;
using System.Linq;
public static class Appsettings
{
private static readonly string dll = typeof(Appsettings).Assembly.Location;
public static string GetSetting(string settingKey)
{
var settingValue = default(string);
try
{
var configuration = ConfigurationManager.OpenExeConfiguration(dll);
var settings = configuration.AppSettings.Settings;
settingValue = settings[settingKey]?.Value;
}
catch (Exception e)
{
AppHost.NLogger.Error(e);
}
return settingValue;
}
public static string SetSetting(string settingKey, string settingValue)
{
try
{
var configuration = ConfigurationManager.OpenExeConfiguration(dll);
var settings = configuration.AppSettings.Settings;
if (!settings.AllKeys.Any(x => x == settingKey))
{
settings.Add(settingKey, string.Empty);
}
settings[settingKey].Value = settingValue;
configuration.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
catch (Exception e)
{
AppHost.NLogger.Error(e);
}
return settingValue;
}
}
}