Bugfix Ergänzende Dienste Zeile entfernen. BSAdmin Änderungen HPH Freizeit und Reisen Abrechnung, DataBaseTerminator

This commit is contained in:
Christian
2024-01-16 18:42:02 +01:00
parent 08f8a6685e
commit 89af4694e0
18 changed files with 178 additions and 47 deletions

View File

@@ -4,16 +4,16 @@
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
</startup>
<appSettings>
<add key="ServerName" value="app5.bewoplaner.de"/>
<add key="ServerName" value="app3.bewoplaner.de"/>
<add key="ConnectionStringServer" value="127.0.0.1"/>
<add key="ConnectionStringUserId" value="root"/>
<add key="ConnectionStringPassword" value="BeWoPl@ner!"/>
<add key="ConnectionStringPassword" value="root"/>
<add key="ConnectionStringPort" value="2206"/>
<add key="MultitenancyPath" value="..\Multitenancy\Configs"/>
<add key="CreateScriptsFolderPath" value="CreateScripts\"/>
<add key="InsertScriptName" value="inserts.sql"/>
<add key="CreateScriptName" value="create_Empty_MySQL.sql"/>
<add key="ChangesScriptName" value="Changes_alle_fuer_neue_db.txt"/>
<add key="ChangesScriptName" value="Changes_alle_fuer_neue_db.sql"/>
<add key="LogFilePath" value="Logs\"/>
</appSettings>
</configuration>

View File

@@ -67,7 +67,7 @@ namespace BeWoDatabaseTerminator.MySql
throw new ArgumentException($"Das Skript \"{pathToScript}\" existiert nicht.");
}
var sql = File.ReadAllText(pathToScript);
var sql = File.ReadAllText(pathToScript, System.Text.Encoding.Default);
if(string.IsNullOrWhiteSpace(sql))
{

View File

@@ -92,6 +92,10 @@ namespace BeWoDatabaseTerminator
_InsertScriptName = ConfigurationManager.AppSettings["InsertScriptName"];
_LogFilePath = ConfigurationManager.AppSettings["LogFilePath"];
if (!Directory.Exists(_LogFilePath))
{
Directory.CreateDirectory(_LogFilePath);
}
try
{
FileUtils.DeleteOldLogs(_LogFilePath);
@@ -137,7 +141,16 @@ namespace BeWoDatabaseTerminator
{
var contractStatus = contractStatusKeyValuePair.Value;
if(contractStatus.Activate == 1)
if (contractStatus.Tenant == "3614370592")
{
}
else
{
continue;
}
if (contractStatus.Activate == 1)
{
FileUtils.WriteLog($"Aktiviere/Erstelle Datenbank `{contractStatus.Tenant}`.", _LogFilePath);
await ActivateDatabase(contractStatus.Tenant, contractStatus);
@@ -250,28 +263,31 @@ namespace BeWoDatabaseTerminator
var configFilePath = Path.Combine(_MultitenancyPath, $"{tenant}.config");
// Config-Datei existiert bereits
if(File.Exists(configFilePath))
if (File.Exists(configFilePath))
{
FileUtils.WriteLog($"Die Config-Datei '{configFilePath}' existiert.", _LogFilePath);
connectionString = isExisting ? ExtractConnectionString(configFilePath) : connectionString;
FileUtils.WriteLog($"Die Config-Datei '{configFilePath}' existiert. Nix muss gemacht werden", _LogFilePath);
//Nichts machen
if(!isExisting)
{
RunCreateScripts(tenant, connectionString);
}
//FileUtils.WriteLog($"Die Config-Datei '{configFilePath}' existiert.", _LogFilePath);
//connectionString = isExisting ? ExtractConnectionString(configFilePath) : connectionString;
//if(!isExisting)
//{
// RunCreateScripts(tenant, connectionString);
//}
}
// Config-Datei ist deaktiviert
else if(File.Exists(Path.Combine(_MultitenancyPath, $"{tenant}.config.deactivated")))
{
FileUtils.WriteLog($"Die Config-Datei '{tenant}.config.deactivated' existiert.", _LogFilePath);
connectionString = isExisting ? ExtractConnectionString(configFilePath) : connectionString;
//connectionString = isExisting ? ExtractConnectionString(configFilePath) : connectionString;
ToggleConfigActivation(tenant, true);
if(!isExisting)
{
RunCreateScripts(tenant, connectionString);
}
//if(!isExisting)
//{
// RunCreateScripts(tenant, connectionString);
//}
}
// Config-Datei existiert nicht
else
@@ -346,7 +362,18 @@ namespace BeWoDatabaseTerminator
/// <param name="connectionString">MySQL-Verbindung aus der Config-Datei.</param>
private static void RunCreateScripts(string tenant, string connectionString)
{
if(Directory.Exists(_CreateScriptsFolderPath) && Directory.Exists(_MultitenancyPath))
#if DEBUG
if (!Directory.Exists(_CreateScriptsFolderPath))
{
Directory.CreateDirectory(_CreateScriptsFolderPath);
}
if (!Directory.Exists(_MultitenancyPath))
{
Directory.CreateDirectory(_MultitenancyPath);
}
#endif
if (Directory.Exists(_CreateScriptsFolderPath) && Directory.Exists(_MultitenancyPath))
{
FileUtils.GenerateNewConfigFile(Path.Combine(_MultitenancyPath, $"{tenant}.config"), connectionString);
@@ -354,7 +381,7 @@ namespace BeWoDatabaseTerminator
var changesScriptPath = Path.Combine(_CreateScriptsFolderPath, _ChangesScriptName);
var insertScriptPath = Path.Combine(_CreateScriptsFolderPath, _InsertScriptName);
if(File.Exists(createScriptPath) && File.Exists(changesScriptPath) && File.Exists(insertScriptPath))
if (File.Exists(createScriptPath) && File.Exists(changesScriptPath) && File.Exists(insertScriptPath))
{
var mySqlHelper = new MySqlHelper(connectionString);
@@ -414,6 +441,7 @@ namespace BeWoDatabaseTerminator
if(!string.IsNullOrWhiteSpace(apiKey) && !(contractStatus is null) && databaseExists)
{
var password = PasswordHelper.GenerateInitialPassword(new Random());
var uri = new Uri($"https://support.bewoplaner.de/api/save_initialpw.php?APIKEY1={apiKey}&LicenseTypeID={contractStatus.LicenseTypeId}&CustomerID={contractStatus.Tenant}&InitialPW={password}");