Atomia.Web.Plugin.PublicOrder.Helpers.GeneralHelper.FetchSetting C# (CSharp) Метод

FetchSetting() публичный статический Метод

public static FetchSetting ( string settingName, string codeBase, bool returnValueOnly ) : object
settingName string
codeBase string
returnValueOnly bool
Результат object
        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;
        }