Commit Graph
8 Commits
Author SHA1 Message Date
adminandClaude Sonnet 5 a22674dc19 Klausurauswertung (1.5) — Kapitel 1 damit vollständig
Neuer Dialog ExamEvaluationDialog, erreichbar über "Auswertung" im
Klausuren-Tab (Button + Kontextmenü bei ausgewählter Klausur):

- Notenspiegel als Balkendiagramm, Durchschnitt (via bestehendes
  GradingService.WeightedAverage), Median, sowie ein Schwellenwert-
  Anteil ("< 5/4 Punkte" bei Punktesystem, "nicht ausreichend 5/6"
  bei Notensystem 1–6).
- Aufgabenanalyse: durchschnittlicher Erfüllungsgrad je Aufgabe,
  auffällig schwache (Ø < 50 %) rot markiert.
- Notenschlüssel verschieben: gleicher Editor wie im Klausur-Dialog,
  Änderungen wirken sich sofort im Notenspiegel aus; erst
  "Übernehmen" schreibt sie in die Klausur zurück.
- CSV-Export direkt im Dialog, analog zum bestehenden JSON-Export der
  Kompetenzkataloge — ohne die noch fehlende Export-Infrastruktur aus
  Kapitel 11 vorwegzunehmen.
- Abwesende werden konsequent aus allen Statistiken ausgeschlossen
  (löst den in 1.4.3 offen gelassenen Punkt ein).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 01:01:30 +02:00
adminandClaude Sonnet 5 725de3813f Punkteeingabe & Korrektur für Klausuren (1.4)
Neuer Dialog ExamGradingDialog, erreichbar über "Punkte eingeben" im
Klausuren-Tab (Button + Kontextmenü bei ausgewählter Klausur):

- Eingaberaster: Schüler-Zeilen × Aufgaben-Spalten, Summe und Note live
  über GradingService.CalculateGrade() berechnet.
- Tab bewegt sich nativ zur nächsten Zelle; Enter/Pfeil-Hoch/Pfeil-Runter
  springen zur gleichen Spalte in der Nachbarzeile (auch über noch nicht
  realisierte, virtualisierte Zeilen hinweg via ScrollIntoView). Komma
  oder Punkt als Dezimaltrennzeichen werden beide akzeptiert.
- Abwesend-Checkbox (Note zeigt dann "abwesend") und Kommentarfeld pro
  Schüler.
- Punkte außerhalb 0..Maximalpunkte werden rot markiert und bewusst
  nicht gespeichert; der zuletzt gültige Stand bleibt erhalten.
- Autosave nach jeder Zelle, kein Speichern-Button nötig.

Dabei nebenbei behoben: die Schülerliste berücksichtigt jetzt Enrollment-
Zeiträume (H1/H2/Custom) relativ zum Klausurdatum, analog zur bereits
bestehenden Logik im Mitarbeit-Tab, statt pauschal alle im Schuljahr
eingeschriebenen Schüler zu zeigen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 00:52:30 +02:00
adminandClaude Sonnet 5 8cbd4475d7 Klausur: Fach aus Lerngruppe übernehmen, Rückgabedatum erfassen
- Fach kommt jetzt aus der Lerngruppe statt manuell pro Klausur
  eingegeben zu werden: Fach-Feld im Anlegen-Dialog der Lerngruppe
  ist nicht mehr auf Typ "Kurs" beschränkt, da eine Gruppe genau ein
  Fach unterrichtet (bei zwei Fächern legt man zwei Gruppen an). Im
  Klausur-Dialog ist das Fach dadurch nur noch read-only Kontext statt
  eines redundanten Eingabefelds.
- Neues Feld Exam.ReturnedAt: wird beim Statuswechsel auf "Zurück-
  gegeben" automatisch mit dem heutigen Datum belegt (und beim
  Zurücknehmen des Status wieder geleert), ist im Klausur-Dialog aber
  auch manuell nachträglich korrigierbar. Sichtbar als eigene Spalte
  im Klausuren-Tab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 23:16:52 +02:00
adminandClaude Sonnet 5 21378bbebd Klausurverwaltung: Anlegen, Bearbeiten, Duplizieren, Status, Aufgaben
Implementiert TODO 1.1 (Klausur anlegen/verwalten) und die dazu passenden
Teile von 1.2 (Aufgabenstruktur), da beides im selben Dialog verwaltet wird:

- ExamDialog: Klausur anlegen/bearbeiten/duplizieren mit Aufgaben-Editor
  (Nr./Titel/Maximalpunkte/Gewichtung, sortierbar), Gesamtpunkte-Anzeige
  mit Warnung bei 0 Punkten, und Kompetenz-Zuordnung je Aufgabe.
- Klausuren-Tab: Kontextmenü und Toolbar für Bearbeiten/Duplizieren/
  Löschen (mit Rückfrage), farbcodierte Status-Spalte, SplitButton für
  Statuswechsel (Klick = nächster Status, Dropdown = manuelles Setzen).
- ExamRepository.Delete löscht zugehörige ExamResults kaskadierend.
- Gewichtung ist standardmäßig ausgeblendet (Checkbox zum Einblenden),
  NumericUpDown-Felder ohne Spinner-Buttons wegen eines Layout-Bugs im
  Avalonia-Standardtemplate, der das interne Textfeld auf wenige Pixel
  schrumpfen ließ.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 22:00:48 +02:00
admin 220969fdfa Schüler hinzufügen, Kompetenzen 2026-06-23 13:46:39 +02:00
admin b2211270b4 Mitarbeit bewerten begonnen, Schülerdaten, Gruppen 2026-06-23 10:12:52 +02:00
admin fdbaa9ef4d Drawer korrigiert, Gruppenanlegen optimiert. 2026-06-19 23:59:09 +02:00
admin 5ca960746b init 1.0.0 2026-06-19 00:42:00 +02:00