@@ -132,7 +132,7 @@
|
||||
<TextBlock Text="HEUTE UND HANDLUNGSBEDARF" FontSize="11" FontWeight="Bold" Opacity="0.5"
|
||||
Margin="2,2,0,-8"/>
|
||||
|
||||
<Grid ColumnDefinitions="3*,2*" RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto">
|
||||
<Grid ColumnDefinitions="3*,2*" RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto">
|
||||
|
||||
<!-- Heutige Stunden -->
|
||||
<Border Grid.Column="{Binding TodayCard.Column}" Grid.Row="{Binding TodayCard.Row}"
|
||||
|
||||
@@ -65,6 +65,30 @@
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<Border Background="{DynamicResource SystemControlBackgroundAltHighBrush}" CornerRadius="8" Padding="16">
|
||||
<StackPanel Spacing="10">
|
||||
<TextBlock Text="Unterrichtszeit nacherfassen" FontWeight="SemiBold" FontSize="14"/>
|
||||
<TextBlock Text="Arbeitstage der letzten 14 Tage, an denen laut Stundenplan Unterricht war, aber noch keine Unterrichtszeit erfasst wurde."
|
||||
FontSize="12" Opacity="0.7" TextWrapping="Wrap"/>
|
||||
<ItemsControl ItemsSource="{Binding MissingTeachingTimeEntries}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate x:DataType="vm:TeachingTimeGapItem">
|
||||
<Grid ColumnDefinitions="*,Auto,Auto" Margin="0,3">
|
||||
<TextBlock Grid.Column="0" Text="{Binding DateDisplay}" FontSize="13" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="1" Text="{Binding TimeDisplay}" FontSize="12" Opacity="0.65"
|
||||
Margin="12,0" VerticalAlignment="Center"/>
|
||||
<Button Grid.Column="2" Content="Erfassen" FontSize="12" Padding="10,4"
|
||||
Command="{Binding $parent[ItemsControl].((vm:TimeTrackingViewModel)DataContext).AddMissingTeachingTimeCommand}"
|
||||
CommandParameter="{Binding}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
<TextBlock Text="Keine Unterrichtszeit offen." Opacity="0.6" FontSize="12"
|
||||
IsVisible="{Binding !MissingTeachingTimeEntries.Count}"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<!-- Einträge / Nacherfassung (6.2.2) -->
|
||||
<Grid ColumnDefinitions="*,Auto,Auto">
|
||||
<TextBlock Grid.Column="0" Text="Einträge" FontWeight="SemiBold" FontSize="14" VerticalAlignment="Center"/>
|
||||
|
||||
@@ -18,11 +18,13 @@ public partial class TimeTrackingView : UserControl
|
||||
vm.OnAddEntry = () => ShowAddEntryDialog();
|
||||
vm.OnSuggestTeachingTime = (start, end) => ShowAddEntryDialog(prefillCategory: "Unterricht",
|
||||
prefillStart: start, prefillEnd: end);
|
||||
vm.OnAddMissingTeachingTime = item => ShowAddEntryDialog(prefillCategory: "Unterricht",
|
||||
prefillDate: item.Date, prefillStart: item.WindowStart, prefillEnd: item.WindowEnd);
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<TimeEntry?> ShowAddEntryDialog(string? prefillCategory = null,
|
||||
TimeOnly? prefillStart = null, TimeOnly? prefillEnd = null)
|
||||
DateOnly? prefillDate = null, TimeOnly? prefillStart = null, TimeOnly? prefillEnd = null)
|
||||
{
|
||||
var owner = TopLevel.GetTopLevel(this) as Window;
|
||||
if (owner is null) return null;
|
||||
@@ -31,6 +33,7 @@ public partial class TimeTrackingView : UserControl
|
||||
.GetAll().Where(t => t.Status != WorkTaskStatus.Done).ToList();
|
||||
var vm = new AddTimeEntryDialogViewModel(tasks);
|
||||
if (prefillCategory is not null) vm.SelectedCategory = prefillCategory;
|
||||
if (prefillDate is { } date) vm.DateText = date.ToString("dd.MM.yyyy");
|
||||
if (prefillStart is { } s) vm.StartTimeText = s.ToString("HH:mm");
|
||||
if (prefillEnd is { } e) vm.EndTimeText = e.ToString("HH:mm");
|
||||
var dialog = new AddTimeEntryDialog { DataContext = vm };
|
||||
|
||||
Reference in New Issue
Block a user