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; } } }