130 lines
3.7 KiB
C#
130 lines
3.7 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;
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
} |