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);
}
///
/// Static variable to hold alternate configuration file
///
public static Configuration AltConfig
{
get { return Config; }
}
///
/// Static method to retrieve a setting from config file
///
/// string
/// string
public static string GetAppSetting(string key)
{
var appSetting = Config.AppSettings.Settings.Cast().FirstOrDefault(setting => setting.Key == key);
return appSetting == null ? String.Empty : appSetting.Value;
}
///
/// Static method to get a section from config file. Used by plugin code to get plugin library section.
///
/// string
/// object
public static object GetSection(string sectionName)
{
return Config.GetSection(sectionName);
}
}
}