Files
FlyTeam/SkyTeam/AdminDashBoard.xaml
2026-02-03 13:31:40 +01:00

159 lines
9.2 KiB
XML

<Page x:Class="SkyTeam.AdminDashboard"
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="AdminDashboard"
Background="{DynamicResource PageBackground}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Grid.ColumnSpan="2" Background="#D32F2F" Padding="15">
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="ShieldAccount" Width="36" Height="36" Foreground="White" Margin="0,0,10,0"/>
<StackPanel>
<TextBlock Text="Sky Team ADMIN" FontSize="20" FontWeight="Bold" Foreground="White"/>
<TextBlock Text="Management Console" FontSize="12" Foreground="White"/>
</StackPanel>
</StackPanel>
</Border>
<StackPanel Grid.Row="1" Grid.Column="0" Background="{DynamicResource SidebarBackground}">
<Button Height="50" Margin="5" Click="ShowUsers_Click">
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="AccountGroup" Width="20" Margin="0,0,10,0"/>
<TextBlock Text="Benutzer verwalten"/>
</StackPanel>
</Button>
<Button Height="50" Margin="5" Click="ShowFlights_Click">
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Airplane" Width="20" Margin="0,0,10,0"/>
<TextBlock Text="Flüge verwalten"/>
</StackPanel>
</Button>
<Button Height="50" Margin="5" Background="#FFEBEB" BorderBrush="#FFB71C1C" Foreground="#D32F2F" FontWeight="Bold" Click="Logout_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="20">
<Grid x:Name="UserManagementGrid" Visibility="Visible">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="Alle Benutzer" FontSize="24" FontWeight="Bold" Foreground="{DynamicResource PrimaryText}"/>
<DataGrid x:Name="AllUsersGrid" Grid.Row="1" Margin="0,10,0,20" AutoGenerateColumns="False" IsReadOnly="True" SelectionMode="Single" SelectionChanged="AllUsersGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Id}" Width="50"/>
<DataGridTextColumn Header="Vorname" Binding="{Binding Vorname}" Width="*"/>
<DataGridTextColumn Header="Nachname" Binding="{Binding Nachname}" Width="*"/>
<DataGridTextColumn Header="Email" Binding="{Binding Email}" Width="150"/>
<DataGridTextColumn Header="Rolle" Binding="{Binding Rolle}" Width="80"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0,0,0,10">
<TextBlock Text="Buchungen des ausgewählten Benutzers" FontSize="18" FontWeight="Bold" Foreground="{DynamicResource PrimaryText}" VerticalAlignment="Center"/>
<Button Content="Benutzer Löschen" Background="#D32F2F" Foreground="White" FontWeight="Bold" Margin="20,0,0,0" Padding="10,5" Click="DeleteUser_Click"/>
</StackPanel>
<DataGrid x:Name="UserBookingsGrid" Grid.Row="3" AutoGenerateColumns="False" IsReadOnly="True" Background="{DynamicResource CardBackground}">
<DataGrid.Columns>
<DataGridTextColumn Header="Buchung ID" Binding="{Binding BuchungId}"/>
<DataGridTextColumn Header="Flug Nr." Binding="{Binding Flugnummer}"/>
<DataGridTextColumn Header="Von" Binding="{Binding Abflugort}"/>
<DataGridTextColumn Header="Nach" Binding="{Binding Zielort}"/>
<DataGridTextColumn Header="Datum" Binding="{Binding Abflugdatum}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
<Grid x:Name="FlightManagementGrid" Visibility="Collapsed">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="Flugplan &amp; Management" FontSize="24" FontWeight="Bold" Foreground="{DynamicResource PrimaryText}" Margin="0,0,0,10"/>
<DataGrid x:Name="AllFlightsGrid" Grid.Row="1" Margin="0,0,0,20" AutoGenerateColumns="False" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Id}" Width="40"/>
<DataGridTextColumn Header="Nummer" Binding="{Binding Flugnummer}" FontWeight="Bold" Width="80"/>
<DataGridTextColumn Header="Von" Binding="{Binding Abflugort}" Width="*"/>
<DataGridTextColumn Header="Nach" Binding="{Binding Zielort}" Width="*"/>
<DataGridTextColumn Header="Datum" Binding="{Binding Abflugdatum}" Width="120"/>
<DataGridTextColumn Header="Preis" Binding="{Binding Preis}" Width="60"/>
<DataGridTextColumn Header="Flugzeug" Binding="{Binding Plane}" Width="100"/>
<DataGridTextColumn Header="Pilot" Binding="{Binding Pilot}" Width="100"/>
</DataGrid.Columns>
</DataGrid>
<Button Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Right" Content="Flug Löschen" Background="#D32F2F" Foreground="White" Margin="0,-40,0,0" Padding="10,5" Click="DeleteFlight_Click"/>
<Border Grid.Row="2" Background="{DynamicResource CardBackground}" CornerRadius="8" Padding="15" BorderBrush="#DDD" BorderThickness="1">
<StackPanel>
<TextBlock Text="Neuen Flug hinzufügen (ID wird generiert: SYJ-XXX)" FontWeight="Bold" Margin="0,0,0,10"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Margin="5">
<Label Content="Von:"/>
<TextBox x:Name="AddFromTxt"/>
</StackPanel>
<StackPanel Grid.Column="1" Margin="5">
<Label Content="Nach:"/>
<TextBox x:Name="AddToTxt"/>
</StackPanel>
<StackPanel Grid.Column="2" Margin="5">
<Label Content="Datum:"/>
<DatePicker x:Name="AddDatePick"/>
</StackPanel>
<StackPanel Grid.Column="3" Margin="5">
<Label Content="Preis (€):"/>
<TextBox x:Name="AddPriceTxt"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0" Margin="5">
<Label Content="Flugzeug:"/>
<ComboBox x:Name="PlaneCombo" DisplayMemberPath="Modell" SelectedValuePath="Id"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="1" Margin="5">
<Label Content="Pilot:"/>
<ComboBox x:Name="PilotCombo" DisplayMemberPath="FullName" SelectedValuePath="Id"/>
</StackPanel>
<Button Grid.Row="1" Grid.Column="3" Content="Flug Erstellen" Background="#1E88E5" Foreground="White" FontWeight="Bold" VerticalAlignment="Bottom" Height="30" Margin="5" Click="AddFlight_Click"/>
</Grid>
</StackPanel>
</Border>
</Grid>
</Grid>
</Grid>
</Page>