53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
using System;
|
|
using System.Configuration;
|
|
using System.Linq;
|
|
|
|
namespace DataPro.Core.Config
|
|
{
|
|
public static class DataProConfig
|
|
{
|
|
private static readonly Configuration Config;
|
|
|
|
// static constructor
|
|
static DataProConfig()
|
|
{
|
|
var dataProConfig = new ExeConfigurationFileMap
|
|
{
|
|
ExeConfigFilename = DataProConstants.CustomConfigPath
|
|
};
|
|
|
|
Config = ConfigurationManager.OpenMappedExeConfiguration(dataProConfig, ConfigurationUserLevel.None, true);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Static variable to hold alternate configuration file
|
|
/// </summary>
|
|
public static Configuration AltConfig
|
|
{
|
|
get { return Config; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Static method to retrieve a setting from config file
|
|
/// </summary>
|
|
/// <param name="key">string</param>
|
|
/// <returns>string</returns>
|
|
public static string GetAppSetting(string key)
|
|
{
|
|
var appSetting = Config.AppSettings.Settings.Cast<KeyValueConfigurationElement>().FirstOrDefault(setting => setting.Key == key);
|
|
|
|
return appSetting == null ? String.Empty : appSetting.Value;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Static method to get a section from config file. Used by plugin code to get plugin library section.
|
|
/// </summary>
|
|
/// <param name="sectionName">string</param>
|
|
/// <returns>object</returns>
|
|
public static object GetSection(string sectionName)
|
|
{
|
|
return Config.GetSection(sectionName);
|
|
}
|
|
}
|
|
}
|