bool IConfiguration.Refresh(IConfigurationItem item) { if (item != null) { foreach (IConfigurationSource source in _ConfigurationSources) { source.SetConfigurationItem(item); } #region Set ConfigurationItem Value from Command line foreach (ICommandlineItem cli in _CommandlineItems) { if (cli.Name == item.Name && cli.Found) { item.SetValue(cli.Value, eConfigurationSource.CmdLine); break; } //if (cli.Name == item.Name) } #endregion } //if (item != null) else { foreach (IConfigurationItem ci in _RootConfigurationItem.ConfigurationItems) { Interface.Refresh(ci); } } return(false); } //bool IConfiguration.Refresh(IConfigurationItem item)
void IConfiguration.SetConfigurationValue(string path, bool newValue) { IConfigurationItem item = _RootConfigurationItem.GetConfigurationItem(path); if (item != null) { item.SetValue(newValue); } }
bool IConfigurationSource.SetConfigurationItem(IConfigurationItem item) { string rootName = _ConfigurationSourceType == eConfigurationSourceTypes.AppConfig ? "appSettings" : ""; XmlNode node = GetConfigNode(_Configuration, item.Name, rootName); if (node != null) { //log.Debug(item.Name + ".SetValue(" + node.InnerText + ", " + _Source.ToString() + ")"); return(item.SetValue(node, _Source)); } return(false); } //bool IConfigurationSource.SetConfigurationItem( ...
public async Task ImportAsync(string file, ConfigurationManager manager) { List <ConfigurationContainer> containers = new List <ConfigurationContainer>(); string json = ""; using (StreamReader sr = new StreamReader(new FileStream(file, FileMode.Open, FileAccess.Read))) { json = await sr.ReadToEndAsync(); } if (string.IsNullOrWhiteSpace(json)) { throw new ArgumentNullException("File contains no data"); } object o = JsonConvert.DeserializeObject(json); if (o is JObject ob) { foreach (JToken container in ob.Children()) { if (container is JProperty property) { ConfigurationContainer newContainer = manager.Containers.FirstOrDefault(x => x.Type.Name == property.Name); if (newContainer != null) { foreach (JObject value in property.Children()) { foreach (JToken obj in value.Children()) { if (obj is JProperty valueProperty) { IConfigurationItem item = newContainer.ConfigurableItems.FirstOrDefault(x => x.Type.Name == valueProperty.Name); item.SetValue(valueProperty.Value.ToObject(item.Type.PropertyType)); } } } } } } } }
public async Task ImportAsync(string file, ConfigurationManager manager) { List <ConfigurationContainer> containers = new List <ConfigurationContainer>(); StreamReader sr = new StreamReader(file); string fileContent = await sr.ReadToEndAsync(); object o = JsonConvert.DeserializeObject(fileContent); if (o is JObject ob) { foreach (JToken container in ob.Children()) { if (container is JProperty property) { ConfigurationContainer newContainer = manager.Containers.FirstOrDefault(x => x.Type.Name == property.Name); if (newContainer != null) { foreach (JObject value in property.Children()) { foreach (JToken obj in value.Children()) { if (obj is JProperty valueProperty) { IConfigurationItem item = newContainer.ConfigurableItems.FirstOrDefault(x => x.Type.Name == valueProperty.Name); item.SetValue(valueProperty.Value.ToObject(item.Type.PropertyType)); } } } } } } } sr.Close(); }