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