Files
WIR-MACHEN-ALLE-ARM/Casino/AdminView.xaml.cs
T
2026-09-14 19:20:37 +02:00

148 lines
4.3 KiB
C#

using System.Collections.ObjectModel;
using System.Windows;
namespace Casino
{
public partial class AdminView : Window
{
private readonly Database db = new Database();
private ObservableCollection<User> users;
public AdminView()
{
InitializeComponent();
// Prüfen, ob der aktuell eingeloggte Benutzer Admin ist
if (MainWindow.currentUser < 0)
{
MessageBox.Show(
"Es ist kein Benutzer eingeloggt.",
"Fehler",
MessageBoxButton.OK,
MessageBoxImage.Error);
Close();
return;
}
users = db.GetUser();
// Sicherheitsprüfung über die Datenbank
if (MainWindow.currentUser >= users.Count ||
!db.SelectAdmin(users[MainWindow.currentUser].ID))
{
MessageBox.Show(
"Du hast keine Admin-Rechte.",
"Zugriff verweigert",
MessageBoxButton.OK,
MessageBoxImage.Warning);
Close();
return;
}
UserDataGrid.ItemsSource = users;
}
// ==========================================
// BEARBEITEN
// ==========================================
private void BtnBearbeiten_Click(object sender, RoutedEventArgs e)
{
if (UserDataGrid.SelectedItem is not User selectedUser)
{
MessageBox.Show(
"Bitte wähle zuerst einen Benutzer aus.",
"Kein Benutzer ausgewählt",
MessageBoxButton.OK,
MessageBoxImage.Warning);
return;
}
EditUserView editView = new EditUserView(selectedUser);
// Eigenes Fenster öffnen
editView.ShowDialog();
// Nach dem Schließen Daten neu laden
users = db.GetUser();
UserDataGrid.ItemsSource = users;
}
// ==========================================
// LÖSCHEN
// ==========================================
private void BtnLoeschen_Click(object sender, RoutedEventArgs e)
{
if (UserDataGrid.SelectedItem is not User selectedUser)
{
MessageBox.Show(
"Bitte wähle zuerst einen Benutzer aus.",
"Kein Benutzer ausgewählt",
MessageBoxButton.OK,
MessageBoxImage.Warning);
return;
}
// Sicherheitsabfrage
MessageBoxResult result = MessageBox.Show(
$"Möchtest du den Benutzer '{selectedUser.Name}' wirklich löschen?",
"Benutzer löschen",
MessageBoxButton.YesNo,
MessageBoxImage.Warning);
if (result != MessageBoxResult.Yes)
{
return;
}
// Benutzer aus Datenbank löschen
bool success = db.DeleteUser(selectedUser.ID);
if (success)
{
MessageBox.Show(
"Benutzer wurde erfolgreich gelöscht.",
"Erfolgreich",
MessageBoxButton.OK,
MessageBoxImage.Information);
// Tabelle aktualisieren
users = db.GetUser();
UserDataGrid.ItemsSource = users;
}
else
{
MessageBox.Show(
"Der Benutzer konnte nicht gelöscht werden.",
"Fehler",
MessageBoxButton.OK,
MessageBoxImage.Error);
}
}
// ==========================================
// AKTUALISIEREN
// ==========================================
private void BtnAktualisieren_Click(object sender, RoutedEventArgs e)
{
users = db.GetUser();
UserDataGrid.ItemsSource = users;
}
// ==========================================
// SCHLIESSEN
// ==========================================
private void BtnSchliessen_Click(object sender, RoutedEventArgs e)
{
Close();
}
}
}