namespace iknow_api.DTOs
{
/// Everything the enrolment form needs to render.
public class EnrollmentOptionsDto
{
/// How many subjects an enrolment must contain.
public int RequiredSubjects { get; set; }
/// Semesters this student has not enrolled in yet.
public List Semesters { get; set; } = new();
public List Majors { get; set; } = new();
/// The major from the most recent enrolment, if there is one.
public int? DefaultMajorId { get; set; }
}
public class SemesterOptionDto
{
public int Id { get; set; }
public string? Name { get; set; }
public int Year { get; set; }
public string? Type { get; set; }
}
public class MajorOptionDto
{
public int Id { get; set; }
public string? Name { get; set; }
public List Subjects { get; set; } = new();
}
public class SubjectOptionDto
{
public int Id { get; set; }
public string? Name { get; set; }
public string? Code { get; set; }
public int Credits { get; set; }
public int MandatorySemester { get; set; }
/// True when the student already passed this subject.
public bool AlreadyPassed { get; set; }
}
public class EnrollSemesterRequestDto
{
public int SemesterId { get; set; }
public int MajorId { get; set; }
public List SubjectIds { get; set; } = new();
}
public class EnrollSemesterResultDto
{
public bool Ok { get; set; }
public string? Message { get; set; }
public int? EnrolledSemesterId { get; set; }
}
}