32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
namespace LehrerApp.Core.Models;
|
|
|
|
public class LearningGroup
|
|
{
|
|
public Guid Id { get; set; } = Guid.NewGuid();
|
|
public string Name { get; set; } = "";
|
|
public GroupType Type { get; set; }
|
|
public string? Subject { get; set; }
|
|
public Guid? SubjectId { get; set; }
|
|
public string SchoolYear { get; set; } = "";
|
|
public int GradeLevel { get; set; }
|
|
public GradingSystem GradingSystem { get; set; }
|
|
public int? HoursPerWeek { get; set; }
|
|
public bool IsActive { get; set; } = true;
|
|
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 EnrollmentPeriod Period { get; set; } = EnrollmentPeriod.FullYear;
|
|
public DateOnly? JoinedAt { get; set; }
|
|
public DateOnly? LeftAt { get; set; }
|
|
}
|
|
public enum EnrollmentPeriod { FullYear, H1Only, H2Only, Custom }
|
|
public enum GroupType { Class, Course }
|
|
public enum GradingSystem { Grades1To6, Points0To15 }
|