108 lines
4.4 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|