last commit before tests

This commit is contained in:
younes elhaddoury
2026-02-03 13:31:40 +01:00
parent 3ba5b10d05
commit 241ed4eb94
24 changed files with 1146 additions and 623 deletions

View File

@@ -1,88 +1,95 @@
using System.Windows;
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Navigation;
using MySql.Data.MySqlClient;
namespace SkyTeam
{
public partial class SettingsPage : Page
{
private bool _isDark = false;
public SettingsPage()
{
InitializeComponent();
var bgBrush = Application.Current.Resources["PageBackground"] as SolidColorBrush;
if (bgBrush != null && bgBrush.Color == Color.FromRgb(30, 30, 30))
{
DarkModeToggle.IsChecked = true;
DarkModeToggle.Content = "An";
}
else
{
DarkModeToggle.Content = "Aus";
}
}
private void DarkModeToggle_Checked(object sender, RoutedEventArgs e)
{
_isDark = true;
SetRes("PageBackground", Color.FromRgb(30, 30, 30));
SetRes("CardBackground", Color.FromRgb(45, 45, 45));
SetRes("SidebarBackground", Color.FromRgb(20, 20, 20));
SetRes("PrimaryText", Colors.White);
SetRes("SecondaryText", Color.FromRgb(200, 200, 200));
DarkModeToggle.Content = "An";
if (Window.GetWindow(this) is MainWindow mainWindow)
{
mainWindow.Background = Brushes.Black;
}
}
private void DarkModeToggle_Unchecked(object sender, RoutedEventArgs e)
{
_isDark = false;
SetRes("PageBackground", Colors.White);
SetRes("CardBackground", Color.FromRgb(245, 247, 250));
SetRes("SidebarBackground", Color.FromRgb(227, 242, 253));
SetRes("PrimaryText", Colors.Black);
SetRes("SecondaryText", Color.FromRgb(102, 102, 102));
DarkModeToggle.Content = "Aus";
if (Window.GetWindow(this) is MainWindow mainWindow)
{
mainWindow.Background = Brushes.White;
}
}
private void SetRes(string key, Color color)
{
Application.Current.Resources[key] = new SolidColorBrush(color);
}
private void DeleteAccountButton_Click(object sender, RoutedEventArgs e)
{
var result = MessageBox.Show(
"Sind Sie sicher, dass Sie Ihr Konto löschen möchten?\nDiese Aktion kann nicht rückgängig gemacht werden!",
"Konto löschen",
MessageBoxButton.YesNo,
MessageBoxImage.Warning);
if (result == MessageBoxResult.Yes)
if (MessageBox.Show("Möchten Sie Ihr Konto wirklich löschen?\nAlle Buchungen werden ebenfalls gelöscht.", "Achtung", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
MessageBox.Show("Konto wurde gelöscht.", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information);
((MainWindow)Application.Current.MainWindow).MainFrame.Navigate(new LogInPage());
try
{
using (MySqlConnection conn = new MySqlConnection(DatenbankServices.GetConnection()))
{
conn.Open();
string deleteBookings = "DELETE FROM buchungen WHERE UserId = @uid";
MySqlCommand cmd1 = new MySqlCommand(deleteBookings, conn);
cmd1.Parameters.AddWithValue("@uid", SessionManager.CurrentUserId);
cmd1.ExecuteNonQuery();
string deleteUser = "DELETE FROM users WHERE Id = @uid";
MySqlCommand cmd2 = new MySqlCommand(deleteUser, conn);
cmd2.Parameters.AddWithValue("@uid", SessionManager.CurrentUserId);
cmd2.ExecuteNonQuery();
}
SessionManager.CurrentUserId = 0;
MessageBox.Show("Ihr Konto wurde erfolgreich gelöscht.");
NavigationService.Navigate(new LogInPage());
}
catch (Exception ex)
{
MessageBox.Show("Fehler beim Löschen: " + ex.Message);
}
}
}
private void HomeButton_Click(object sender, RoutedEventArgs e)
{
((MainWindow)Application.Current.MainWindow).MainFrame.Navigate(new NavigationPage());
}
private void BookingsButton_Click(object sender, RoutedEventArgs e)
{
((MainWindow)Application.Current.MainWindow).MainFrame.Navigate(new BuchungenPage());
}
private void SettingsButton_Click(object sender, RoutedEventArgs e)
{
((MainWindow)Application.Current.MainWindow).MainFrame.Navigate(new SettingsPage());
}
private void BookFlightButton_Click(object sender, RoutedEventArgs e)
{
((MainWindow)Application.Current.MainWindow).MainFrame.Navigate(new BuchungenPage());
}
private void HomeButton_Click(object sender, RoutedEventArgs e) => NavigationService.Navigate(new NavigationPage());
private void BookingsButton_Click(object sender, RoutedEventArgs e) => NavigationService.Navigate(new BuchungenPage());
private void SettingsButton_Click(object sender, RoutedEventArgs e) => NavigationService.Navigate(new SettingsPage());
private void LogoutButton_Click(object sender, RoutedEventArgs e)
{
var result = MessageBox.Show(
"Möchten Sie sich wirklich abmelden?",
"Abmelden",
MessageBoxButton.YesNo,
MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
((MainWindow)Application.Current.MainWindow).MainFrame.Navigate(new LogInPage());
}
SessionManager.CurrentUserId = 0;
NavigationService.Navigate(new LogInPage());
}
}
}
}