public static object FetchSetting(string settingName, string codeBase, bool returnValueOnly)
{
PluginSetting pluginSettingsInstance = null;
string currentDir = Directory.GetCurrentDirectory();
try
{
Configuration config = PluginLoaderHelper.GetConfigFile(codeBase, PluginConfigurationHelper.GetConfigFilePath(codeBase));
AppConfig appConfig = AppConfig.GetAppConfigSection(config);
bool found = false;
foreach (PluginSettingsPlugin plugin in appConfig.PluginSettingsList)
{
foreach (PluginSetting pluginSetting in plugin)
{
if (pluginSetting.Name.ToUpper() == settingName.ToUpper())
{
found = true;
if (!String.IsNullOrEmpty(pluginSetting.Theme))
{
if (pluginSetting.Theme.ToLower() !=
HttpContext.Current.Session["Theme"].ToString().ToLower())
{
found = false;
}
}
if (found)
{
pluginSettingsInstance = pluginSetting;
break;
}
}
}
if (found)
{
break;
}
}
}
catch (Exception e)
{
OrderPageLogger.LogOrderPageException(e);
}
Directory.SetCurrentDirectory(currentDir);
if (pluginSettingsInstance != null && returnValueOnly)
{
return pluginSettingsInstance.Value.Trim();
}
return pluginSettingsInstance;
}