Resolve csproj conflict: keep ui-before-db version

This commit is contained in:
younes elhaddoury
2026-01-30 21:53:36 +01:00
10 changed files with 225 additions and 112 deletions

View File

@@ -1,8 +1,8 @@
<Page x:Class="SkyTeam.MeineBuchungenPage" <Page x:Class="SkyTeam.BuchungenPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
Title="MeineBuchungenPage"> Title="BuchungenPage">
<Grid> <Grid>
@@ -20,8 +20,7 @@
Grid.ColumnSpan="2" Grid.ColumnSpan="2"
Background="#FF1E88E5" Background="#FF1E88E5"
Padding="15"> Padding="15">
<StackPanel Orientation="Horizontal" <StackPanel Orientation="Horizontal">
VerticalAlignment="Center">
<Ellipse Width="36" Height="36" Fill="White" Margin="0,0,10,0"/> <Ellipse Width="36" Height="36" Fill="White" Margin="0,0,10,0"/>
<StackPanel> <StackPanel>
<TextBlock Text="Sky Team Airlines" <TextBlock Text="Sky Team Airlines"
@@ -37,135 +36,90 @@
<StackPanel Grid.Row="1" <StackPanel Grid.Row="1"
Grid.Column="0" Grid.Column="0"
Background="#FFE3F2FD" Background="#FFE3F2FD">
Orientation="Vertical">
<Button x:Name="HomeButton" <Button Height="50" Margin="5" Click="HomeButton_Click">
Height="50" <StackPanel Orientation="Horizontal">
Margin="5" <iconPacks:PackIconMaterial Kind="Home" Width="20" Margin="0,0,10,0"/>
Click="HomeButton_Click">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<iconPacks:PackIconMaterial Kind="Home" Width="20" Height="20" Margin="0,0,10,0"/>
<TextBlock Text="Home"/> <TextBlock Text="Home"/>
</StackPanel> </StackPanel>
</Button> </Button>
<Button x:Name="BookingsButton"
Height="50" <Button Height="50"
Margin="5" Margin="5"
Click="BookingsButton_Click" Background="#FFBBDEFB"
Background="#FFBBDEFB"> Click="BookingsButton_Click">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center"> <StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Airplane" Width="20" Height="20" Margin="0,0,10,0"/> <iconPacks:PackIconMaterial Kind="Airplane" Width="20" Margin="0,0,10,0"/>
<TextBlock Text="Meine Buchungen"/> <TextBlock Text="Meine Buchungen"/>
</StackPanel> </StackPanel>
</Button> </Button>
<Button x:Name="SettingsButton" <Button Height="50" Margin="5" Click="SettingsButton_Click">
Height="50" <StackPanel Orientation="Horizontal">
Margin="5" <iconPacks:PackIconMaterial Kind="Cog" Width="20" Margin="0,0,10,0"/>
Click="SettingsButton_Click">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<iconPacks:PackIconMaterial Kind="Cog" Width="20" Height="20" Margin="0,0,10,0"/>
<TextBlock Text="Einstellungen"/> <TextBlock Text="Einstellungen"/>
</StackPanel> </StackPanel>
</Button> </Button>
<Button x:Name="LogoutButton" <Button Height="50"
Height="50"
Margin="5" Margin="5"
Background="#FFEBEB" Background="#FFEBEB"
BorderBrush="#FFB71C1C" BorderBrush="#FFB71C1C"
Foreground="#D32F2F" Foreground="#D32F2F"
FontWeight="Bold" FontWeight="Bold"
Click="LogoutButton_Click"> Click="LogoutButton_Click">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center"> <StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Logout" Width="20" Height="20" Margin="0,0,10,0"/> <iconPacks:PackIconMaterial Kind="Logout" Width="20" Margin="0,0,10,0"/>
<TextBlock Text="Abmelden"/> <TextBlock Text="Abmelden"/>
</StackPanel> </StackPanel>
</Button> </Button>
</StackPanel> </StackPanel>
<Grid Grid.Row="1" Grid.Column="1" Margin="30"> <Grid Grid.Row="1" Grid.Column="1" Margin="30">
<Grid.RowDefinitions> <StackPanel Margin="0,0,0,25">
<RowDefinition Height="Auto"/> <TextBlock Text="Meine Buchungen"
<RowDefinition Height="*"/> FontSize="28"
</Grid.RowDefinitions> FontWeight="Bold"/>
<TextBlock Text="Ihre reservierten Flüge im Überblick"
<StackPanel Grid.Row="0" FontSize="16"
Orientation="Horizontal" Foreground="#666"/>
VerticalAlignment="Center"
Margin="0,0,0,20">
<iconPacks:PackIconMaterial Kind="Airplane" Width="28" Height="28" Margin="0,0,10,0"/>
<StackPanel>
<TextBlock Text="Meine Buchungen"
FontSize="24"
FontWeight="Bold"/>
<TextBlock Text="Übersicht über Ihre gebuchten Flüge"
FontSize="14"
Foreground="#666"/>
</StackPanel>
</StackPanel> </StackPanel>
<Grid Grid.Row="1"> <Border Background="#F5F7FA"
<Grid.RowDefinitions> CornerRadius="12"
<RowDefinition Height="Auto"/> Padding="40">
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Margin="0,0,0,20"> <StackPanel HorizontalAlignment="Center">
<Grid.ColumnDefinitions> <iconPacks:PackIconMaterial Kind="AirplaneOff"
<ColumnDefinition Width="Auto"/> Width="50"
<ColumnDefinition Width="200"/> Height="50"
<ColumnDefinition Width="Auto"/> Foreground="#888"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Content="Von:" Grid.Column="0" VerticalAlignment="Center" Margin="0,0,8,0"/> <TextBlock Text="Sie haben noch keinen Flug reserviert."
<TextBox x:Name="FromFilterTextBox" Grid.Column="1" Height="36" Margin="0,0,12,0"/> FontSize="18"
Margin="0,15,0,5"
TextAlignment="Center"/>
<Label Content="Nach:" Grid.Column="2" VerticalAlignment="Center" Margin="0,0,8,0"/> <TextBlock Text="Reservieren Sie jetzt Ihren ersten Flug!"
<TextBox x:Name="ToFilterTextBox" Grid.Column="3" Height="36" Margin="0,0,12,0"/> FontSize="14"
Foreground="#666"
Margin="0,0,0,20"
TextAlignment="Center"/>
<Button x:Name="SearchBookingsButton" <Button Content="Jetzt reservieren"
Grid.Column="4" Width="180"
Width="100" Height="45"
Height="36" Click="OpenReservierungSuche_Click"/>
Margin="0,0,0,0" </StackPanel>
HorizontalAlignment="Right"
Click="SearchBookingsButton_Click">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<iconPacks:PackIconMaterial Kind="Magnify" Width="18" Height="18" Margin="0,0,6,0"/>
<TextBlock Text="Suchen"/>
</StackPanel>
</Button>
</Grid>
<DataGrid x:Name="BookingsDataGrid" </Border>
Grid.Row="1"
AutoGenerateColumns="False"
IsReadOnly="True"
CanUserAddRows="False"
GridLinesVisibility="Horizontal"
HeadersVisibility="Column">
<DataGrid.Columns>
<DataGridTextColumn Header="Buchungsnummer" Width="120" Binding="{Binding BookingNumber}"/>
<DataGridTextColumn Header="Von" Width="80" Binding="{Binding From}"/>
<DataGridTextColumn Header="Nach" Width="80" Binding="{Binding To}"/>
<DataGridTextColumn Header="Flugzeug" Width="100" Binding="{Binding Flugzeug}"/>
<DataGridTextColumn Header="Pilot" Width="100" Binding="{Binding Pilots}"/>
<DataGridTextColumn Header="Abflug" Width="140" Binding="{Binding DepartureTime}"/>
<DataGridTextColumn Header="Ankunft" Width="140" Binding="{Binding ArrivalTime}"/>
<DataGridTextColumn Header="Status" Width="100" Binding="{Binding Status}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid> </Grid>
</Grid> </Grid>

View File

@@ -8,27 +8,19 @@ namespace SkyTeam
{ {
public MeineBuchungenPage() public MeineBuchungenPage()
{ {
InitializeComponent();
LoadBookings(); LoadBookings();
} }
private void LoadBookings() private void LoadBookings()
{ {
var bookings = new ObservableCollection<object>
{
new { BookingNumber = "SKY001", From = "FRA", To = "JFK", DepartureTime = "2026-02-01 09:00", ArrivalTime = "2026-02-01 13:30", Status = "Bestätigt" },
new { BookingNumber = "SKY002", From = "MUC", To = "LAX", DepartureTime = "2026-02-03 14:20", ArrivalTime = "2026-02-04 08:45", Status = "Geplant" }
};
BookingsDataGrid.ItemsSource = bookings;
} }
private void SearchBookingsButton_Click(object sender, RoutedEventArgs e) private void SearchBookingsButton_Click(object sender, RoutedEventArgs e)
{ {
string from = FromFilterTextBox.Text;
string to = ToFilterTextBox.Text;
MessageBox.Show($"Suche Flüge von {from} nach {to}", "Suche", MessageBoxButton.OK);
} }
private void HomeButton_Click(object sender, RoutedEventArgs e) private void HomeButton_Click(object sender, RoutedEventArgs e)

View File

@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace SkyTeam namespace SkyTeam
{ {
class FlugeRepo class FlugeRepo : databaseServices
{ {
} }
} }

View File

@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace SkyTeam namespace SkyTeam
{ {
class FlugzeugRepo class FlugzeugRepo : databaseServices
{ {
} }
} }

View File

@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace SkyTeam namespace SkyTeam
{ {
class PilotenRepo class PilotenRepo : databaseServices
{ {
} }
} }

View File

@@ -9,6 +9,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="MahApps.Metro.IconPacks" Version="6.2.1" />
<PackageReference Include="MySql.Data" Version="9.6.0" /> <PackageReference Include="MySql.Data" Version="9.6.0" />
</ItemGroup> </ItemGroup>

View File

@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SkyTeam
{
class databaseServices
{
private string ConnectionString = "Server=mysql.pb.bib.de;uid=pbt3h24akh;pwd=Dd3dwQgPeNxW;database=pbt3h24akh_SkyTeam;";
protected virtual string connectionString
{
get { return ConnectionString; }
private set { ConnectionString = value; }
}
}
}

View File

@@ -6,7 +6,10 @@ using System.Threading.Tasks;
namespace SkyTeam namespace SkyTeam
{ {
class mitarbeiterRepo class mitarbeiterRepo : databaseServices
{ {
} }
} }

View File

@@ -0,0 +1,112 @@
<Page x:Class="SkyTeam.ReservierungssuchePage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
Title="ReservierungssuchePage">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="180"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.ColumnSpan="2"
Background="#FF1E88E5"
Padding="15">
<StackPanel Orientation="Horizontal">
<Ellipse Width="36" Height="36" Fill="White" Margin="0,0,10,0"/>
<TextBlock Text="Flug reservieren"
FontSize="20"
FontWeight="Bold"
Foreground="White"/>
</StackPanel>
</Border>
<StackPanel Grid.Row="1"
Grid.Column="0"
Background="#FFE3F2FD">
<Button Height="50" Margin="5" Click="HomeButton_Click">
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Home" Width="20" Margin="0,0,10,0"/>
<TextBlock Text="Home"/>
</StackPanel>
</Button>
<Button Height="50" Margin="5" Click="BookingsButton_Click">
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Airplane" Width="20" Margin="0,0,10,0"/>
<TextBlock Text="Meine Buchungen"/>
</StackPanel>
</Button>
<Button Height="50" Margin="5" Click="SettingsButton_Click">
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Cog" Width="20" Margin="0,0,10,0"/>
<TextBlock Text="Einstellungen"/>
</StackPanel>
</Button>
<Button Height="50"
Margin="5"
Background="#FFEBEB"
BorderBrush="#FFB71C1C"
Foreground="#D32F2F"
FontWeight="Bold"
Click="LogoutButton_Click">
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Logout" Width="20" Margin="0,0,10,0"/>
<TextBlock Text="Abmelden"/>
</StackPanel>
</Button>
</StackPanel>
<Grid Grid.Row="1" Grid.Column="1" Margin="30">
<StackPanel Margin="0,0,0,25">
<TextBlock Text="Flug suchen"
FontSize="28"
FontWeight="Bold"/>
<TextBlock Text="Wählen Sie Datum und Strecke für Ihre Reservierung"
FontSize="16"
Foreground="#666"/>
</StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="180"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="180"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="180"/>
</Grid.ColumnDefinitions>
<Label Content="Von:"/>
<TextBox Grid.Column="1"/>
<Label Grid.Column="2" Content="Nach:"/>
<TextBox Grid.Column="3"/>
<Label Grid.Column="4" Content="Abflugdatum:"/>
<DatePicker Grid.Column="5"/>
</Grid>
<Button Content="Flüge anzeigen"
Width="200"
Height="45"
HorizontalAlignment="Right"
Margin="0,30,0,0"
Click="SearchFlights_Click"/>
</Grid>
</Grid>
</Page>

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace SkyTeam
{
/// <summary>
/// Interaction logic for reservierungsSuche.xaml
/// </summary>
public partial class reservierungsSuche : Page
{
public reservierungsSuche()
{
InitializeComponent();
}
}
}