34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
namespace LehrerApp.Core.Models;
|
||
|
||
public class LearningGroup
|
||
{
|
||
public Guid Id { get; set; } = Guid.NewGuid();
|
||
public string Name { get; set; } = ""; // "10E", "Q1 Chemie"
|
||
public GroupType Type { get; set; }
|
||
public string? Subject { get; set; } // "Chemie", "Mathematik"
|
||
public string SchoolYear { get; set; } = ""; // "2024/25"
|
||
public int GradeLevel { get; set; } // 5, 10, 11, 12 ...
|
||
public GradingSystem GradingSystem { get; set; }
|
||
public int? HoursPerWeek { get; set; }
|
||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
|
||
}
|
||
|
||
public class Enrollment
|
||
{
|
||
public Guid Id { get; set; } = Guid.NewGuid();
|
||
public Guid StudentId { get; set; }
|
||
public Guid GroupId { get; set; }
|
||
public string SchoolYear { get; set; } = "";
|
||
public DateOnly EnrolledAt { get; set; } = DateOnly.FromDateTime(DateTime.Today);
|
||
public DateOnly? LeftAt { get; set; } // bei Wechsel mid-year
|
||
}
|
||
|
||
public enum GroupType { Class, Course }
|
||
|
||
public enum GradingSystem
|
||
{
|
||
Grades1To6, // Noten 1–6 (Sek I)
|
||
Points0To15, // Punkte 0–15 (Oberstufe)
|
||
}
|