62 lines
1.8 KiB
C#
62 lines
1.8 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;
|
|
}
|
|
|
|
public static string[] GetSIRTComPorts()
|
|
=> GetSetting("SIRTComPorts")
|
|
?.Split(new[] { ';', ',', ' ' }, StringSplitOptions.RemoveEmptyEntries)
|
|
?.Select(x => x?.Trim())
|
|
?.ToArray() ?? new string[0];
|
|
}
|
|
}
|