continuo sviluppo...

This commit is contained in:
Samuele E. Locatelli
2020-12-14 11:27:40 +01:00
parent 7166d29829
commit 7176c245d6
4 changed files with 144 additions and 48 deletions
+94 -42
View File
@@ -101,7 +101,6 @@ namespace WebConfigSetter
Console.WriteLine($"setName: {setName}");
// salvo info...
currConfig.Cliente = setName;
currentSetFile = $"{confDir}\\{setName}.json";
// processo richiesta
@@ -120,54 +119,107 @@ namespace WebConfigSetter
// caso 1: acquisisco conf
if (opMode == operationMode.readConf)
{
// cerca i file we.config dalla folder richiesta in giù...
string[] configFiles = Directory.GetFiles(baseWebAppDir, "web.config", SearchOption.AllDirectories);
XmlDocument doc = new XmlDocument();
foreach (var item in configFiles)
{
Console.WriteLine($"Found: {item}");
doc = new XmlDocument();
doc.Load(item);
// cerco in appConfig
XmlNodeList appSettingsList = doc.SelectNodes("configuration/appSettings/*");
for (int i = 0; i < appSettingsList.Count; i++)
{
if (appSettingsList[i].Attributes["key"].Value.Contains("ConnectionString"))
{
if (!currConfig.appSettRules.ContainsKey(appSettingsList[i].Attributes["key"].Value))
{
currConfig.appSettRules.Add(appSettingsList[i].Attributes["key"].Value, appSettingsList[i].Attributes["value"].Value);
}
}
}
// cerco in connectionStrings
XmlNodeList connectionStringsList = doc.SelectNodes("configuration/connectionStrings/*");
for (int i = 0; i < connectionStringsList.Count; i++)
{
if (!currConfig.connStrRules.ContainsKey(connectionStringsList[i].Attributes["name"].Value))
{
currConfig.connStrRules.Add(connectionStringsList[i].Attributes["name"].Value, connectionStringsList[i].Attributes["connectionString"].Value);
}
}
}
// serializzo!
string rawData = JsonConvert.SerializeObject(currConfig, Newtonsoft.Json.Formatting.Indented);
// salvo il file di conf!
File.WriteAllText(currentSetFile, rawData);
readConfToFiles();
}
// caso 2: effettuo sostituzioni
else
{
writeConfToFiles();
}
}
private static void readConfToFiles()
{
// cerca i file we.config dalla folder richiesta in giù...
string[] configFiles = Directory.GetFiles(baseWebAppDir, "web.config", SearchOption.AllDirectories);
XmlDocument doc = new XmlDocument();
foreach (var item in configFiles)
{
Console.WriteLine($"Found: {item}");
doc = new XmlDocument();
doc.Load(item);
// cerco in appConfig
XmlNodeList appSettingsList = doc.SelectNodes("configuration/appSettings/*");
for (int i = 0; i < appSettingsList.Count; i++)
{
if (appSettingsList[i].Attributes["key"].Value.Contains("ConnectionString"))
{
if (!currConfig.appSettRules.ContainsKey(appSettingsList[i].Attributes["key"].Value))
{
currConfig.appSettRules.Add(appSettingsList[i].Attributes["key"].Value, appSettingsList[i].Attributes["value"].Value);
}
}
}
// cerco in connectionStrings
XmlNodeList connectionStringsList = doc.SelectNodes("configuration/connectionStrings/*");
for (int i = 0; i < connectionStringsList.Count; i++)
{
if (!currConfig.connStrRules.ContainsKey(connectionStringsList[i].Attributes["name"].Value))
{
currConfig.connStrRules.Add(connectionStringsList[i].Attributes["name"].Value, connectionStringsList[i].Attributes["connectionString"].Value);
}
}
}
// serializzo!
string rawData = JsonConvert.SerializeObject(currConfig, Newtonsoft.Json.Formatting.Indented);
// salvo il file di conf!
File.WriteAllText(currentSetFile, rawData);
}
private static void writeConfToFiles()
{
// cerca i file we.config dalla folder richiesta in giù...
string[] configFiles = Directory.GetFiles(baseWebAppDir, "web.config", SearchOption.AllDirectories);
XmlDocument doc = new XmlDocument();
foreach (var item in configFiles)
{
Console.WriteLine($"Found: {item}");
doc = new XmlDocument();
doc.Load(item);
// cerco in appConfig
XmlNodeList appSettingsList = doc.SelectNodes("configuration/appSettings/*");
for (int i = 0; i < appSettingsList.Count; i++)
{
if (appSettingsList[i].Attributes["key"].Value.Contains("ConnectionString"))
{
// effettuo sostituzione
if (!currConfig.appSettRules.ContainsKey(appSettingsList[i].Attributes["key"].Value))
{
currConfig.appSettRules.Add(appSettingsList[i].Attributes["key"].Value, appSettingsList[i].Attributes["value"].Value);
}
}
}
// cerco in connectionStrings
XmlNodeList connectionStringsList = doc.SelectNodes("configuration/connectionStrings/*");
for (int i = 0; i < connectionStringsList.Count; i++)
{
if (!currConfig.connStrRules.ContainsKey(connectionStringsList[i].Attributes["name"].Value))
{
currConfig.connStrRules.Add(connectionStringsList[i].Attributes["name"].Value, connectionStringsList[i].Attributes["connectionString"].Value);
}
}
}
// serializzo!
string rawData = JsonConvert.SerializeObject(currConfig, Newtonsoft.Json.Formatting.Indented);
// salvo il file di conf!
File.WriteAllText(currentSetFile, rawData);
}
#endregion Private Methods
}
}