using LehrerApp.Core.Models; namespace LehrerApp.Core.Models; /// /// Lesbarer Snapshot der lokalen Datenbank für die WebApp. /// Wird periodisch vom Desktop exportiert und auf dem Server hinterlegt. /// /// Bewusst NICHT enthalten: /// - Documentation (vertraulich, bleibt lokal) /// - Vollständige Notizen (nur Noten-Übersichten) /// - Sync-interne Daten /// public class ReadableSnapshot { public DateTime ExportedAt { get; set; } = DateTime.UtcNow; public string SchoolYear { get; set; } = ""; public List Students { get; set; } = []; public List Groups { get; set; } = []; public List Enrollments { get; set; } = []; // Klausuren mit Aufgaben aber ohne Ergebnisse public List Exams { get; set; } = []; // Ergebnisse separat – kann bei Bedarf weggelassen werden public List ExamResults { get; set; } = []; // Sonstige Noten public List Grades { get; set; } = []; // Unterrichtsplanung public List Units { get; set; } = []; public List Lessons { get; set; } = []; // Aufgaben (kein Zeiterfassungs-Detail) public List Tasks { get; set; } = []; /// /// Metadaten für die WebApp – wie alt ist der Snapshot? /// public SnapshotMeta Meta { get; set; } = new(); } public class SnapshotMeta { public int StudentCount { get; set; } public int GroupCount { get; set; } public int ExamCount { get; set; } public DateTime OldestData { get; set; } public string ExportedByDevice { get; set; } = ""; }