优化考试排考
This commit is contained in:
@@ -11,6 +11,7 @@ public sealed class ExamPlan : EntityBase
|
||||
public string? Notes { get; set; }
|
||||
public DateTime? PublishedAt { get; set; }
|
||||
public ICollection<ExamSession> Sessions { get; set; } = [];
|
||||
public ICollection<ExamRoomAssignment> Rooms { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class ExamSession : EntityBase
|
||||
@@ -31,6 +32,8 @@ public sealed class ExamSession : EntityBase
|
||||
public int RequiredInvigilatorCount { get; set; } = 2;
|
||||
public string? Notes { get; set; }
|
||||
public ICollection<ExamSessionInvigilator> Invigilators { get; set; } = [];
|
||||
public ICollection<ExamRoomSession> RoomLinks { get; set; } = [];
|
||||
public ICollection<ExamSeatAssignment> SeatAssignments { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class ExamSessionInvigilator
|
||||
@@ -41,6 +44,52 @@ public sealed class ExamSessionInvigilator
|
||||
public Teacher? Teacher { get; set; }
|
||||
}
|
||||
|
||||
public sealed class ExamRoomAssignment : EntityBase
|
||||
{
|
||||
public Guid ExamPlanId { get; set; }
|
||||
public ExamPlan? ExamPlan { get; set; }
|
||||
public Guid CourseId { get; set; }
|
||||
public Course? Course { get; set; }
|
||||
public Guid ClassroomId { get; set; }
|
||||
public Classroom? Classroom { get; set; }
|
||||
public DateOnly ExamDate { get; set; }
|
||||
public int StartPeriod { get; set; }
|
||||
public int PeriodCount { get; set; }
|
||||
public DateTime StartsAt { get; set; }
|
||||
public DateTime EndsAt { get; set; }
|
||||
public int RequiredInvigilatorCount { get; set; } = 2;
|
||||
public ICollection<ExamRoomSession> SessionLinks { get; set; } = [];
|
||||
public ICollection<ExamSeatAssignment> Seats { get; set; } = [];
|
||||
public ICollection<ExamRoomInvigilator> Invigilators { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class ExamRoomSession
|
||||
{
|
||||
public Guid ExamRoomId { get; set; }
|
||||
public ExamRoomAssignment? ExamRoom { get; set; }
|
||||
public Guid ExamSessionId { get; set; }
|
||||
public ExamSession? ExamSession { get; set; }
|
||||
}
|
||||
|
||||
public sealed class ExamSeatAssignment
|
||||
{
|
||||
public Guid ExamRoomId { get; set; }
|
||||
public ExamRoomAssignment? ExamRoom { get; set; }
|
||||
public Guid ExamSessionId { get; set; }
|
||||
public ExamSession? ExamSession { get; set; }
|
||||
public Guid StudentId { get; set; }
|
||||
public Student? Student { get; set; }
|
||||
public int SeatNumber { get; set; }
|
||||
}
|
||||
|
||||
public sealed class ExamRoomInvigilator
|
||||
{
|
||||
public Guid ExamRoomId { get; set; }
|
||||
public ExamRoomAssignment? ExamRoom { get; set; }
|
||||
public Guid TeacherId { get; set; }
|
||||
public Teacher? Teacher { get; set; }
|
||||
}
|
||||
|
||||
public enum ExamPlanStatus
|
||||
{
|
||||
Draft = 1,
|
||||
|
||||
Reference in New Issue
Block a user