Fix: ArgumentException im Stundenplan bei gleichnamigen Lerngruppen
TimetableSlotDialogViewModel baute die Gruppenauswahl als Dictionary,
geschlüsselt nach LearningGroup.Name. Bei zwei Lerngruppen mit demselben
Namen (dieselbe Klasse in zwei Fächern unterrichtet, z.B. zwei "10c") warf
ToDictionary eine ArgumentException, der Zuweisen-Dialog ließ sich gar
nicht mehr öffnen.
Behoben durch eindeutige Anzeige-Labels statt des rohen Namens: bei einem
Namenskonflikt wird das Fach angehängt ("10c (Chemie)" vs. "10c
(Mathematik)"), mit nummeriertem Fallback für den Restfall gleicher Name
und gleiches Fach.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -472,6 +472,18 @@ Redesign:
|
||||
umgesetzt:** Klick deckt die vollständige Bearbeitung (Zuweisen/Ändern/Entfernen) bereits
|
||||
ab: Drag wäre nur eine schnellere Geste für "Zuordnung an eine andere Zelle verschieben",
|
||||
kein zusätzlicher Funktionsumfang — bei Bedarf später ergänzbar.
|
||||
|
||||
**Nachtrag (Bugfix, aus echtem Nutzungsfall):** `TimetableSlotDialogViewModel` baute die
|
||||
Gruppenauswahl für den Zuweisen-Dialog als `Dictionary<string, Guid>`, geschlüsselt nach
|
||||
`LearningGroup.Name` — bei zwei Lerngruppen mit demselben Namen (dieselbe Klasse in zwei
|
||||
Fächern unterrichtet, z.B. zwei Datensätze "10c") warf `ToDictionary` eine
|
||||
`ArgumentException` ("An item with the same key has already been added"), der Dialog ließ
|
||||
sich gar nicht mehr öffnen. Behoben durch eindeutige Anzeige-Labels statt des rohen Namens:
|
||||
bei einem Namenskonflikt wird das Fach angehängt ("10c (Chemie)" vs. "10c (Mathematik)"),
|
||||
mit einem nummerierten Fallback-Suffix für den theoretischen Restfall gleicher Name UND
|
||||
gleiches Fach. Zwei Regressionstests in
|
||||
[TimetableSlotDialogViewModelTests.cs](LehrerApp.Desktop.Tests/TimetableSlotDialogViewModelTests.cs)
|
||||
bilden genau dieses Szenario nach.
|
||||
- [x] **4.3.4** Abgleich mit `LearningGroup.HoursPerWeek` — Seitenleiste "Abweichende
|
||||
Wochenstunden" listet jede Gruppe der aktuellen Schuljahres, deren eingetragene
|
||||
Slot-Anzahl nicht der hinterlegten Wochenstundenzahl entspricht.
|
||||
|
||||
Reference in New Issue
Block a user