using System; using System.Data; using System.Windows; using System.Windows.Controls; using MySql.Data.MySqlClient; namespace SkyTeam { public partial class verfuegbareFluge : Page { public verfuegbareFluge() { InitializeComponent(); LoadFlights(); } private void LoadFlights() { string query = @"SELECT f.Id, f.Flugnummer, f.Abflugort AS 'From', f.Zielort AS 'To', z.Modell AS Plane, f.Abflugdatum AS Date FROM fluege f JOIN flugzeuge z ON f.FlugzeugId = z.Id"; using (MySqlConnection conn = new MySqlConnection(DatenbankServices.GetConnection())) { conn.Open(); MySqlDataAdapter adapter = new MySqlDataAdapter(query, conn); DataTable dt = new DataTable(); adapter.Fill(dt); AvailableFlightsDataGrid.ItemsSource = dt.DefaultView; } } private void BookFlight_Click(object sender, RoutedEventArgs e) { if (AvailableFlightsDataGrid.SelectedItem == null) { MessageBox.Show("Bitte wählen Sie einen Flug aus!"); return; } DataRowView row = (DataRowView)AvailableFlightsDataGrid.SelectedItem; int flightId = Convert.ToInt32(row["Id"]); string query = "INSERT INTO buchungen (UserId, FlugId) VALUES (@uid, @fid)"; try { using (MySqlConnection conn = new MySqlConnection(DatenbankServices.GetConnection())) { conn.Open(); MySqlCommand cmd = new MySqlCommand(query, conn); cmd.Parameters.AddWithValue("@uid",SessionManager.CurrentUserId); cmd.Parameters.AddWithValue("@fid", flightId); cmd.ExecuteNonQuery(); } MessageBox.Show("Erfolgreich gebucht!"); ((MainWindow)Application.Current.MainWindow).MainFrame.Navigate(new BuchungenPage()); } catch (Exception ex) { MessageBox.Show("Fehler: " + ex.Message); } } 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) => NavigationService.Navigate(new LogInPage()); } }