using System.Collections.ObjectModel; using System.Windows; namespace Casino { public partial class AdminView : Window { private readonly Database db = new Database(); private ObservableCollection 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; } 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); editView.ShowDialog(); // Nach dem Schließen Daten neu laden users = db.GetUser(); UserDataGrid.ItemsSource = users; } 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); users = db.GetUser(); UserDataGrid.ItemsSource = users; } else { MessageBox.Show( "Der Benutzer konnte nicht gelöscht werden.", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } } private void BtnAktualisieren_Click(object sender, RoutedEventArgs e) { users = db.GetUser(); UserDataGrid.ItemsSource = users; } private void BtnSchliessen_Click(object sender, RoutedEventArgs e) { Close(); } } }