Upgrade Sitzplan - Jetzt mit Bewertungsfeature

This commit is contained in:
2026-08-19 16:46:08 +02:00
parent f514d1d58c
commit 0faa3f54de
14 changed files with 370 additions and 14 deletions
@@ -339,6 +339,9 @@ public partial class DocumentationDialogViewModel : ObservableObject
Result.Date = date;
Result.Title = Title.Trim();
Result.Content = (Content ?? "").Trim();
// Das bewusste Speichern im vollständigen Dialog schließt einen im Sitzplan erzeugten
// Schnellentwurf ab. Stunden- und Lesson-Bezug bleiben am bestehenden Objekt erhalten.
Result.IsDraft = false;
Result.IsConfidential = IsConfidential;
Result.Participants = type == DocumentationType.Conversation ? Participants.ToList() : [];
Result.AbsenceData = type == DocumentationType.Absence
@@ -421,6 +424,7 @@ public partial class DocumentationItem : ObservableObject
public bool IsConfidential { get; }
public bool IsParentCall { get; }
public bool HasAttachments { get; }
public bool IsDraft { get; }
public string StatusLabel { get; }
public List<TagChip> TagChips { get; }
/// Nur im Gruppen-Tab (5.1, GroupDocumentationTabViewModel) gefüllt — die Schüler-Detailansicht
@@ -446,6 +450,7 @@ public partial class DocumentationItem : ObservableObject
IsRevealed = !d.IsConfidential;
IsParentCall = d.Type == DocumentationType.ParentCall;
HasAttachments = d.Attachments.Count > 0;
IsDraft = d.IsDraft;
StatusLabel = BuildStatusLabel(d);
TagChips = d.Tags.Select(t => new TagChip(t)).ToList();
StudentName = studentName;
@@ -455,6 +460,7 @@ public partial class DocumentationItem : ObservableObject
private static string BuildStatusLabel(Documentation d) => d.Type switch
{
_ when d.IsDraft => "Nacharbeiten",
DocumentationType.ParentCall when d.ParentCallData is { IsConducted: true } pc =>
$"Durchgeführt am {pc.ConductedDate:dd.MM.yyyy}",
DocumentationType.ParentCall => "Noch nicht durchgeführt",