Kapitel 7 abgeschlossen.

This commit is contained in:
2026-08-16 00:29:01 +02:00
parent da8d2bb1da
commit f9e398b225
47 changed files with 2636 additions and 107 deletions
@@ -0,0 +1,75 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:LehrerApp.Desktop.ViewModels.Groups"
x:Class="LehrerApp.Desktop.Views.Groups.GroupRolloverDialog"
x:DataType="vm:GroupRolloverDialogViewModel"
Title="Ins nächste Schuljahr übernehmen"
Width="650" Height="720" MinWidth="560" MinHeight="600"
CanResize="True" WindowStartupLocation="CenterOwner">
<Grid RowDefinitions="Auto,*,Auto" Margin="24,20">
<StackPanel Grid.Row="0" Spacing="12">
<TextBlock Text="Ins nächste Schuljahr übernehmen" Classes="dialogtitle"/>
<TextBlock Text="{Binding SourceSummary}" FontSize="12" Opacity="0.65"/>
<TextBlock Text="Es werden nur Gruppeneinstellungen und ausgewählte Mitgliedschaften kopiert. Noten, Klausuren, Mitarbeit, Planung und Stundenplan bleiben im alten Schuljahr."
FontSize="12" Opacity="0.65" TextWrapping="Wrap"/>
<Grid ColumnDefinitions="*,12,130,12,100">
<StackPanel Grid.Column="0" Spacing="4">
<TextBlock Text="Neuer Gruppenname *" FontSize="12" Opacity="0.7"/>
<TextBox Text="{Binding Name}"/>
<TextBlock Text="{Binding NameError}" Foreground="Red" FontSize="11"
IsVisible="{Binding NameError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
</StackPanel>
<StackPanel Grid.Column="2" Spacing="4">
<TextBlock Text="Zielschuljahr *" FontSize="12" Opacity="0.7"/>
<TextBox Text="{Binding TargetSchoolYear}" PlaceholderText="2027/28"/>
<TextBlock Text="{Binding SchoolYearError}" Foreground="Red" FontSize="11"
IsVisible="{Binding SchoolYearError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
</StackPanel>
<StackPanel Grid.Column="4" Spacing="4">
<TextBlock Text="Klassenstufe" FontSize="12" Opacity="0.7"/>
<NumericUpDown Value="{Binding GradeLevel}" Minimum="1" Maximum="13" FormatString="0"/>
</StackPanel>
</Grid>
<Grid ColumnDefinitions="*,Auto">
<TextBlock Grid.Column="0" Text="Schülerauswahl" FontSize="14" FontWeight="SemiBold"/>
<TextBlock Grid.Column="1" Text="{Binding SelectedCountText}" FontSize="12" Opacity="0.6"/>
</Grid>
</StackPanel>
<Grid Grid.Row="1" RowDefinitions="*,Auto" Margin="0,10,0,0">
<ListBox Grid.Row="0" ItemsSource="{Binding Students}">
<ListBox.ItemTemplate>
<DataTemplate x:DataType="vm:GroupRolloverStudentItem">
<Grid ColumnDefinitions="Auto,*,70" Margin="4,5">
<CheckBox Grid.Column="0" IsChecked="{Binding IsSelected}" IsEnabled="{Binding CanSelect}"
VerticalAlignment="Center" Margin="0,0,10,0"/>
<StackPanel Grid.Column="1">
<TextBlock Text="{Binding FullName}" FontSize="13" FontWeight="SemiBold"/>
<TextBlock Text="{Binding MembershipStatus}" FontSize="11" Opacity="0.55"/>
</StackPanel>
<TextBlock Grid.Column="2" Text="{Binding NiveauText}" FontSize="12" Opacity="0.65"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Grid.Row="1" Text="{Binding SelectionError}" Foreground="Red" FontSize="11" Margin="0,5,0,0"
IsVisible="{Binding SelectionError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
</Grid>
<StackPanel Grid.Row="2" Spacing="10" Margin="0,14,0,0">
<CheckBox Content="Gruppenspezifisches Notenschema übernehmen"
IsChecked="{Binding CopyGradingScheme}" IsVisible="{Binding HasGradingScheme}"/>
<CheckBox Content="Alte Gruppe nach erfolgreicher Übernahme archivieren"
IsChecked="{Binding ArchiveSource}"/>
<TextBlock Text="{Binding GeneralError}" Foreground="Red" FontSize="12" TextWrapping="Wrap"
IsVisible="{Binding GeneralError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
<Grid ColumnDefinitions="*,10,*">
<Button Grid.Column="0" Content="Abbrechen" HorizontalAlignment="Stretch" Click="OnCancel"/>
<Button Grid.Column="2" Content="Gruppe übernehmen" HorizontalAlignment="Stretch" Click="OnSave"/>
</Grid>
</StackPanel>
</Grid>
</Window>