CalendarDatePicker: DateTimeOffset-Felder nullbar machen
CI / build-and-test (push) Canceled after 0s

CalendarDatePicker.SelectedDate ist DateTimeOffset?, die per DatePicker-
zu-CalendarDatePicker-Umstellung betroffenen ViewModel-Eigenschaften
waren aber nicht-nullbares DateTimeOffset. Der alte DatePicker tolerierte
das, CalendarDatePickers Bindung nicht - Feld blieb leer und ein
Konvertierungsfehler wurde beim Auswählen geworfen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-01 17:19:07 +02:00
co-authored by Claude Sonnet 5
parent d297f9f109
commit 09e97efb61
5 changed files with 25 additions and 14 deletions
+11
View File
@@ -1405,6 +1405,17 @@ Bestätigungsschritt zu verlangen. Betroffen: [WebUntisLessonAbsenceComparisonDi
[WebUntisTimetableImportDialog.axaml](LehrerApp.Desktop/Views/Planning/WebUntisTimetableImportDialog.axaml)
und [WebUntisDocumentationComparisonDialog.axaml](LehrerApp.Desktop/Views/Students/WebUntisDocumentationComparisonDialog.axaml).
**Nachtrag (September 2026, Nutzer-Feedback) — `CalendarDatePicker` blieb nach der Umstellung leer
und warf beim Auswählen einen Konvertierungsfehler:** `CalendarDatePicker.SelectedDate` ist
`DateTimeOffset?`, die fünf oben umgestellten ViewModel-Eigenschaften (`StartDate`/`EndDate` in
`ClassTeacherDetailsViewModel`, `WebUntisLessonAbsenceComparisonViewModel`,
`WebUntisDocumentationComparisonViewModel`, `WeekDate` in `WebUntisTimetableImportViewModel`)
waren aber als nicht-nullbares `DateTimeOffset` deklariert — anders als `WithdrawStudentDialog`
und `CreateLetterDialog`, deren Datumsfelder von Anfang an `DateTimeOffset?` sind. Der alte
`DatePicker` toleriert diese Abweichung stillschweigend, `CalendarDatePicker`s Bindung nicht. Alle
fünf Eigenschaften auf `DateTimeOffset?` umgestellt (Fallback `?? DateTimeOffset.Now` an den
wenigen Leseseiten), damit sie exakt zum Steuerelement passen.
**Nachtrag zu 4.3, Fehlzeiten je Unterricht (August 2026):** Der ursprüngliche Fehlzeitenabgleich
rief `getTimetableWithAbsences` ohne Element auf und bekam damit den kompletten Lehrer-Stundenplan
zurück (einmal pro Kursmitglied, siehe damalige Ineffizienz-Korrektur) — das erfordert mehr