58 lines
2.6 KiB
C#
58 lines
2.6 KiB
C#
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<string> 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<string> Methods { get; set; } = [];
|
|
public List<string> 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 }
|