diff --git a/WebConfigSetter/Objects.cs b/WebConfigSetter/Objects.cs index 302ded9..b6f74a5 100644 --- a/WebConfigSetter/Objects.cs +++ b/WebConfigSetter/Objects.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; +using System.Collections.Generic; namespace WebConfigSetter { @@ -15,9 +13,9 @@ namespace WebConfigSetter #region Public Fields public Dictionary ConnectionStrings = new Dictionary(); + public Dictionary ServerConf = new Dictionary(); #endregion Public Fields - } public class SetCliente diff --git a/WebConfigSetter/Program.cs b/WebConfigSetter/Program.cs index abfc786..3be684e 100644 --- a/WebConfigSetter/Program.cs +++ b/WebConfigSetter/Program.cs @@ -147,7 +147,7 @@ namespace WebConfigSetter configFilesJson = Directory.GetFiles(baseWebAppDir, "appsettings.json", SearchOption.AllDirectories); } - // STEP 1: processo files XML (stile asp.net <= 4.8) + // STEP 1: processo files XML (stile asp.net <= 4.8) XmlDocument doc = new XmlDocument(); foreach (var item in configFilesXml) { @@ -161,7 +161,19 @@ namespace WebConfigSetter for (int i = 0; i < appSettingsList.Count; i++) { + bool doSave = false; + // stringhe conn a DB principali if (appSettingsList[i].Attributes["key"].Value.Contains("ConnectionString")) + { + doSave = true; + } + // stringhe conn al DB secondari (MongoDB...) + if (appSettingsList[i].Attributes["key"].Value.Contains("ConnString")) + { + doSave = true; + } + // se trovato --> salvo + if (doSave) { if (!currConfig.appSettRules.ContainsKey(appSettingsList[i].Attributes["key"].Value)) { @@ -186,7 +198,6 @@ namespace WebConfigSetter foreach (var item in configFilesJson) { Console.WriteLine($"JSON Found: {item}"); - string currFileData = File.ReadAllText(item); if (!string.IsNullOrEmpty(currFileData)) { @@ -198,6 +209,7 @@ namespace WebConfigSetter { Console.WriteLine($"Eccezione in decodifica item {item}{Environment.NewLine}{exc}"); } + // processo le stringhe di connessione if (currJsonConf.ConnectionStrings != null) { foreach (var chiave in currJsonConf.ConnectionStrings) @@ -208,6 +220,17 @@ namespace WebConfigSetter } } } + // processo area ServerConf degli altri parametri da sistemare + if (currJsonConf.ServerConf != null) + { + foreach (var chiave in currJsonConf.ServerConf) + { + if (!currConfig.jsonConnStrRules.ContainsKey(chiave.Key)) + { + currConfig.jsonConnStrRules.Add(chiave.Key, chiave.Value); + } + } + } } } @@ -234,7 +257,7 @@ namespace WebConfigSetter string[] configFilesJson = Directory.GetFiles(baseWebAppDir, "appsettings*.json", SearchOption.AllDirectories); XmlDocument doc = new XmlDocument(); - // STEP 1: processo files XML (stile asp.net <= 4.8) + // STEP 1: processo files XML (stile asp.net <= 4.8) foreach (var item in configFiles) { Console.Write($"XML Found: {item} --> ");