Files
AidA/AidA/View/MainController.cs
2025-04-29 18:47:00 +02:00

108 lines
4.4 KiB
C#

using AidA.Data;
using AidA.Data.Entities;
using AidA.Service.Anonymization;
using DevExpress.Xpf.Editors;
using System;
using System.Windows;
namespace AidA.View
{
public static class MainController
{
private static string WindowsUserName { get; set; }
private static string DatabaseUserName { get; set; }
private static LoginWindow LoginWindow { get; set; }
private static MainWindow MainWindow { get; set; }
private static AnonymisierungslaufVorbereitenWindow AnonymisierungslaufVorbereitenWindow { get; set; }
private static AnonymisierungslaufDetailWindow AnonymisierungslaufDetailWindow { get; set; }
private static AnonymisierungsAusnahmenWindow AnonymisierungsAusnahmenWindow { get; set; }
private static AnonymizationManager AnonymizationManager { get; set; }
public static void Login(string databaseUserName, string password, LoginWindow loginWindow)
{
WindowsUserName = Environment.UserName;
DatabaseUserName = databaseUserName;
try
{
HibernateHelper.Connect(databaseUserName, password);
LoginWindow = loginWindow;
LoginWindow.Hide();
MainWindow = new MainWindow();
MainWindow.ShowDialog();
}
catch (Exception ex)
{
var text = "(Datenbank-) Login fehlgeschlagen.\n\n" +
ex.Message + "\n\n" +
"Bitte Zugangsdaten prüfen.";
MessageBox.Show(text, "Datenbank-Login fehlgeschlagen.", MessageBoxButton.OK);
}
}
public static void AnonymisierungslaufVorbereiten1()
{
AnonymisierungslaufVorbereitenWindow = new AnonymisierungslaufVorbereitenWindow();
AnonymisierungslaufVorbereitenWindow.ShowDialog();
}
public static void AnonymisierungslaufVorbereiten2(int aufbewahrungsfrist, ProgressBarEdit vorbereitungProgressbar)
{
AnonymizationManager = new AnonymizationManager(WindowsUserName);
Anonymisierungslauf anonymisierungslauf = AnonymizationManager.AnonymisierungslaufVorbereiten(aufbewahrungsfrist, vorbereitungProgressbar);
AnonymisierungslaufVorbereitenWindow.Hide();
vorbereitungProgressbar.Visibility = System.Windows.Visibility.Hidden;
AnonymisierungslaufDetailWindow = new AnonymisierungslaufDetailWindow(anonymisierungslauf);
AnonymisierungslaufDetailWindow.ShowDialog();
}
public static void AnonymisierungslaufDurchfuehren(Anonymisierungslauf anonymisierungslauf, ProgressBarEdit durchfuehrenProgressbar)
{
AnonymizationManager.AnonymisierungslaufDurchfuehren(anonymisierungslauf, durchfuehrenProgressbar);
}
public static void AnonymisierungslaufSpeichern(Anonymisierungslauf anonymisierungslauf)
{
AnonymizationManager.AnonymisierungslaufSpeichern(anonymisierungslauf);
}
public static void AnonymisierungsAusnahmenBearbeiten()
{
AnonymisierungsAusnahmenWindow = new AnonymisierungsAusnahmenWindow();
AnonymisierungsAusnahmenWindow.ShowDialog();
}
public static void AnonymisierungsAusnahmeHinzufuegen(long antragsNummer)
{
if (AnonymizationManager is null)
{
AnonymizationManager = new AnonymizationManager(WindowsUserName);
}
AnonymizationManager.AnonymisierungsAusnahmeHinzufuegen(antragsNummer);
}
public static void AnonymisierungsAusnahmeLoeschen(Anonymisierungsausnahme anonymisierungsausnahme)
{
if (AnonymizationManager is null)
{
AnonymizationManager = new AnonymizationManager(WindowsUserName);
}
AnonymizationManager.AnonymisierungsAusnahmeLoeschen(anonymisierungsausnahme);
}
public static void DatenbankSichern()
{
String dbBackupVerzeichnis = Properties.Settings.Default.DbBackupVerzeichnis;
var dateiname = dbBackupVerzeichnis + "AidA_DB_Backup_" + String.Format("{0:yyyyMMdd HHmm}", DateTime.Now) + ".bak";
Database.DbSichern(dateiname);
}
}
}