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

@@ -202,7 +202,7 @@ namespace BeWoDatabaseTerminator.MySql
var command = new MySqlCommand(
"INSERT INTO applicationUser(EmployeeOid, Tid, LoginName, Password, Version, UdpUser, InsUser, InsTs, IsActive, Salt, PasswordHash) " +
$"VALUES({employeeOid}, 28, 'admin', '{userCredentials.HashedPassword}', 1, 'Max Mustermann', 'Max Mustermann', NOW(), 1, '{userCredentials.Salt}', '{userCredentials.BCryptPassword}')", _Connection);
$"VALUES({employeeOid}, 28, 'm1', '{userCredentials.HashedPassword}', 1, 'Max Mustermann', 'Max Mustermann', NOW(), 1, '{userCredentials.Salt}', '{userCredentials.BCryptPassword}')", _Connection);
command.ExecuteNonQuery();

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);

View File

@@ -6,7 +6,7 @@ namespace BeWoDatabaseTerminator.Utils
public static class FileUtils
{
// Wird nach dem Laden der Stati aufgerufen. Enthält also den neuen Status.
public static void GenerateNewConfigFile(string pathToConfigFile, string connectionString, bool isDeactivated = false)
public static void GenerateNewConfigFile(string pathToConfigFile, string connectionString, string tenant, bool isDeactivated = false)
{
var config = pathToConfigFile;
@@ -30,7 +30,7 @@ namespace BeWoDatabaseTerminator.Utils
"NHibernate.Driver.MySqlDataDriver\r\n\t\t\t" +
"</property>\r\n\t\t\t" +
"<property name=\"connection.connection_string\">\r\n\t\t\t\t" +
$"{connectionString}\r\n\t\t\t" +
$"{connectionString};Initial Catalog={tenant}\r\n\t\t\t" +
"</property>\r\n\t\t\t" +
"<property name=\"dialect\">\r\n\t\t\t\t" +
"NHibernate.Dialect.MySQLDialect\r\n\t\t\t" +
@@ -49,6 +49,36 @@ namespace BeWoDatabaseTerminator.Utils
File.WriteAllText(config, configText);
}
public static void GenerateNewDBAdminFile(string pathToFile, string tenant, string port, string username, string password, bool isDeactivated = false)
{
//
//Mittelpunkt GbR
//cb@ownsoft.de
//localhost
//2206
//5564670353
//BeWoUser
//BeWoPl@ner!
var config = pathToFile;
if (isDeactivated)
{
config += ".deactivated";
}
var text =
$"{tenant}\r\n" +
"cb@ownsoft.de\r\n" +
"localhost\r\n" +
$"{port}\r\n" +
$"{tenant}\r\n" +
$"{username}\r\n" +
$"{password}\r\n";
File.WriteAllText(pathToFile, text);
}
public static void WriteLog(string message, string logFilePath)
{
if(string.IsNullOrEmpty(logFilePath) || !Directory.Exists(logFilePath))