Diverse Bugfixes, Terminator

This commit is contained in:
Christian
2024-02-01 01:06:46 +01:00
parent b83bfd46ab
commit c2601780da
18 changed files with 591 additions and 25 deletions

View File

@@ -30,6 +30,7 @@ namespace BeWoDatabaseTerminator
private static string _ConnectionStringPort;
private static string _MultitenancyPath;
private static string _BackupConfigFolderPath;
private static string _CreateScriptsFolderPath;
private static string _ServerName;
@@ -84,6 +85,7 @@ namespace BeWoDatabaseTerminator
_ServerName = ConfigurationManager.AppSettings["ServerName"];
_MultitenancyPath = ConfigurationManager.AppSettings["MultitenancyPath"];
_BackupConfigFolderPath = ConfigurationManager.AppSettings["BackupConfigFolderPath"];
_CreateScriptsFolderPath = ConfigurationManager.AppSettings["CreateScriptsFolderPath"];
_ConnectionStringServer = ConfigurationManager.AppSettings["ConnectionStringServer"];
_ConnectionStringPassword = ConfigurationManager.AppSettings["ConnectionStringPassword"];
@@ -143,7 +145,7 @@ namespace BeWoDatabaseTerminator
{
var contractStatus = contractStatusKeyValuePair.Value;
if (contractStatus.Tenant == "3614370592")
if (contractStatus.Tenant == "5564670353")
{
}
@@ -162,7 +164,9 @@ namespace BeWoDatabaseTerminator
{
FileUtils.WriteLog($"Deaktiviere Datenbank `{contractStatus.Tenant}`.", _LogFilePath);
ToggleConfigActivation(contractStatus, false);
ToggleBackupConfigActivation(contractStatus, false);
}
if(contractStatus.Delete == 1)
@@ -286,7 +290,7 @@ namespace BeWoDatabaseTerminator
//connectionString = isExisting ? ExtractConnectionString(configFilePath) : connectionString;
ToggleConfigActivation(contractStatus, true);
ToggleBackupConfigActivation(contractStatus, true);
//if(!isExisting)
//{
// RunCreateScripts(tenant, connectionString);
@@ -365,6 +369,31 @@ namespace BeWoDatabaseTerminator
}
}
private static void ToggleBackupConfigActivation(ContractStatus contractStatus, bool isToBeActivated)
{
var fileName1 = isToBeActivated ? $"{contractStatus.Tenant}.db2mail.deactivated" : $"{contractStatus.Tenant}.db2mail";
var fileName2 = isToBeActivated ? $"{contractStatus.Tenant}.db2mail" : $"{contractStatus.Tenant}.db2mail.deactivated";
var path1 = Path.Combine(_BackupConfigFolderPath, fileName1);
var path2 = Path.Combine(_BackupConfigFolderPath, fileName2);
if (File.Exists(path1) && !File.Exists(path2))
{
File.Move(path1, path2);
if (File.Exists(path1))
{
File.Delete(path1);
}
FileUtils.WriteLog($"{contractStatus.Tenant}.db2mail {(isToBeActivated == false ? "de" : string.Empty)}aktiviert.", _LogFilePath);
}
else
{
FileUtils.WriteLog($"Fehler beim {(isToBeActivated == false ? "Dea" : "A")}ktivieren: {fileName1} existiert nicht oder {fileName2} existiert.", _LogFilePath);
}
}
/// <summary>
/// Erzeugt eine neue Datenbank, passt sie dem neuesten Stand an und füllt sie mit Basisdaten.
/// </summary>
@@ -383,10 +412,11 @@ namespace BeWoDatabaseTerminator
Directory.CreateDirectory(_MultitenancyPath);
}
#endif
if (Directory.Exists(_CreateScriptsFolderPath) && Directory.Exists(_MultitenancyPath))
if (Directory.Exists(_CreateScriptsFolderPath) && Directory.Exists(_MultitenancyPath) && Directory.Exists(_BackupConfigFolderPath))
{
FileUtils.GenerateNewConfigFile(Path.Combine(_MultitenancyPath, $"{tenant}.config"), connectionString);
FileUtils.GenerateNewConfigFile(Path.Combine(_MultitenancyPath, $"{tenant}.config"), connectionString, tenant);
FileUtils.GenerateNewDBAdminFile(Path.Combine(_CreateAdminFolderPath, $"{tenant}.db2mail"), connectionString, tenant);
var createScriptPath = Path.Combine(_CreateScriptsFolderPath, _CreateScriptName);
var changesScriptPath = Path.Combine(_CreateScriptsFolderPath, _ChangesScriptName);
var insertScriptPath = Path.Combine(_CreateScriptsFolderPath, _InsertScriptName);