namespace LehrerApp.Core.Models; // ── Sonstige Noten ──────────────────────────────────────────────────────────── public class Grade { public Guid Id { get; set; } = Guid.NewGuid(); public Guid StudentId { get; set; } public Guid GroupId { get; set; } public string SchoolYear { get; set; } = ""; public GradeCategory Category { get; set; } public string Value { get; set; } = ""; // "2", "11", "+" je nach System public DateOnly Date { get; set; } public double Weight { get; set; } = 1.0; public string? Note { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; } public enum GradeCategory { Oral, Homework, Participation, Project, Other } // ── Unterrichtsplanung ──────────────────────────────────────────────────────── public class Unit // Unterrichtseinheit / Reihe { public Guid Id { get; set; } = Guid.NewGuid(); public Guid GroupId { get; set; } public string Title { get; set; } = ""; // "Ionenbindung" public string Subject { get; set; } = ""; public string SchoolYear { get; set; } = ""; public DateOnly? StartDate { get; set; } public DateOnly? EndDate { get; set; } public List Competencies { get; set; } = []; public UnitStatus Status { get; set; } = UnitStatus.Planned; public string? Notes { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; } public class Lesson // Einzelstunde { public Guid Id { get; set; } = Guid.NewGuid(); public Guid UnitId { get; set; } public Guid GroupId { get; set; } // Redundanz für schnelle Abfragen public DateOnly Date { get; set; } public int? LessonNumber { get; set; } public string Topic { get; set; } = ""; public string? Phase { get; set; } // "Einstieg", "Erarbeitung" ... public List Methods { get; set; } = []; public List Materials { get; set; } = []; public string? Homework { get; set; } public string? Reflection { get; set; } public LessonStatus Status { get; set; } = LessonStatus.Planned; public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; } public enum UnitStatus { Planned, Active, Completed } public enum LessonStatus { Planned, Conducted }