public async Task <WebConfigSetting> Save(JObject data)
        {
            dynamic        dataDto             = data;
            bool           isMasterDataSetting = dataDto.IsMasterDataSetting;
            string         value = dataDto.Value;
            string         key   = dataDto.Key;
            int            id;
            JavaScriptType javaScriptType = dataDto.JavaScriptType;

            try
            {
                id = dataDto.MasterDataKeyValueId;
            }
            catch (Exception)
            {
                id = 0;
            }
            if (isMasterDataSetting)
            {
                var masterData = await _contentManagementContext.MasterDataKeyValues.FirstOrDefaultAsync(
                    md => md.Id == id);

                if (masterData == null)
                {
                    throw new KhodkarInvalidException(LanguageManager.ToAsErrorMessage(ExceptionKey.SettingNotFound));
                }
                key   = masterData.Code;
                value = Helper.GetPropertyValueByName(masterData,
                                                      Convert.ToString(dataDto.MasterDataKeyValuePropertyName));
            }
            var setting = new WebConfigSetting()
            {
                Key   = key,
                Value = value,
                InjectToJavaScript             = dataDto.InjectToJavaScript,
                Description                    = dataDto.Description,
                MasterDataKeyValueId           = id,
                MasterDataKeyValuePropertyName = dataDto.MasterDataKeyValuePropertyName,
                JavaScriptType                 = javaScriptType.ToString()
            };


            var option = JsonConvert.SerializeObject(setting);

            _webConfigManager.AddOrUpdateSetting(key, value, option);
            setting.Key   = key;
            setting.Value = value;
            return(setting);
        }
        public WebConfigSetting GetSetting(string key, string path = "~")
        {
            var myConfiguration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(path);
            var configSetting   = new WebConfigSetting();

            try
            {
                configSetting = JsonConvert.DeserializeObject <WebConfigSetting>(myConfiguration.AppSettings.Settings[key].Value);
            }
            catch (Exception)
            {
                configSetting.Value = myConfiguration.AppSettings.Settings[key].Value;
                configSetting.Key   = key;
            }
            return(configSetting);
        }
        public void AddExpectedApplicationSetting(string name, string nodePath, string value, ParametersGenerationStyle style)
        {
            var setting = new WebConfigSetting()
            {
                Name = name, NodePath = nodePath
            };

            if (style == ParametersGenerationStyle.Tokenize)
            {
                setting.Value = $"__{setting.Name.ToUpperInvariant()}__";
            }
            else
            {
                setting.Value = value;
            }
            ExpectedSettings.Add(setting);
        }
        private void UpdateWebConfigSetting(LanguageAndCulture languageAndCulture, ActionKey action)
        {
            if ((Config.LanguageAndCultures.Exists(ln => ln == languageAndCulture.Language) && action == ActionKey.Add) ||
                (!Config.LanguageAndCultures.Exists(ln => ln == languageAndCulture.Language) && action == ActionKey.Delete))
            {
                return;
            }
            else if (!Config.LanguageAndCultures.Exists(ln => ln == languageAndCulture.Language) && action == ActionKey.Add)
            {
                Config.LanguageAndCultures.Add(languageAndCulture.Language);
                var setting = new WebConfigSetting()
                {
                    Key   = ConfigKey.LanguageAndCultures.ToString(),
                    Value = string.Join(",", Config.LanguageAndCultures),
                    InjectToJavaScript             = false,
                    Description                    = "",
                    MasterDataKeyValueId           = 0,
                    MasterDataKeyValuePropertyName = ""
                };


                var option = JsonConvert.SerializeObject(setting);
                _webConfigManager.AddOrUpdateSetting(ConfigKey.LanguageAndCultures.ToString(), string.Join(",", Config.LanguageAndCultures), option);
            }
            else if (Config.LanguageAndCultures.Exists(ln => ln == languageAndCulture.Language) && action == ActionKey.Delete)
            {
                Config.LanguageAndCultures.Remove(languageAndCulture.Language);
                var setting = new WebConfigSetting()
                {
                    Key   = ConfigKey.LanguageAndCultures.ToString(),
                    Value = string.Join(",", Config.LanguageAndCultures),
                    InjectToJavaScript             = false,
                    Description                    = "",
                    MasterDataKeyValueId           = 0,
                    MasterDataKeyValuePropertyName = ""
                };


                var option = JsonConvert.SerializeObject(setting);
                _webConfigManager.AddOrUpdateSetting(ConfigKey.LanguageAndCultures.ToString(), string.Join(",", Config.LanguageAndCultures), option);
            }
        }
Example #5
0
 public static void AssertHasSameItems(this IEnumerable <WebConfigSetting> source, WebConfigSetting target)
 {
     AssertHasSameItems(source, new List <WebConfigSetting>()
     {
         target
     });
 }