source: iknow-api/DTOs/AdminDTO.cs@ ea40556

Last change on this file since ea40556 was ea40556, checked in by Stefan-Saveski <stefansaveski19@…>, 8 days ago
  • ready for presentation
  • Property mode set to 100644
File size: 3.5 KB
Line 
1namespace iknow_api.DTOs
2{
3 // ---------- UC012 subjects ----------
4
5 public class AdminSubjectDto
6 {
7 public int Id { get; set; }
8 public string? Name { get; set; }
9 public string? Code { get; set; }
10 public int AwardedCredits { get; set; }
11 public int? DependencyCredit { get; set; }
12 public List<SubjectMajorDto> Majors { get; set; } = new();
13 public List<SubjectRefDto> Prerequisites { get; set; } = new();
14 /// <summary>How many enrolments already contain this subject; it cannot be deleted while this is above zero.</summary>
15 public int EnrolledCount { get; set; }
16 }
17
18 public class SubjectMajorDto
19 {
20 public int MajorId { get; set; }
21 public string? MajorName { get; set; }
22 public int MandatorySemester { get; set; }
23 }
24
25 public class SubjectRefDto
26 {
27 public int Id { get; set; }
28 public string? Name { get; set; }
29 public string? Code { get; set; }
30 }
31
32 public class SubjectWriteDto
33 {
34 public string? Name { get; set; }
35 public string? Code { get; set; }
36 public int AwardedCredits { get; set; }
37 public int? DependencyCredit { get; set; }
38 }
39
40 public class MajorLinkDto
41 {
42 public int MajorId { get; set; }
43 public int MandatorySemester { get; set; }
44 }
45
46 public class PrerequisiteDto
47 {
48 public int DependencyId { get; set; }
49 }
50
51 // ---------- UC013 semesters ----------
52
53 public class AdminSemesterDto
54 {
55 public int Id { get; set; }
56 public int Year { get; set; }
57 public string? Type { get; set; }
58 public string? Name { get; set; }
59 public int EnrolmentCount { get; set; }
60 /// <summary>Subjects with no professor teaching them in this semester.</summary>
61 public List<SubjectRefDto> UncoveredSubjects { get; set; } = new();
62 }
63
64 public class SemesterWriteDto
65 {
66 public int Year { get; set; }
67 /// <summary>"winter" or "summer".</summary>
68 public string? Type { get; set; }
69 }
70
71 // ---------- UC014 schedule ----------
72
73 public class ScheduleDto
74 {
75 public int SemesterId { get; set; }
76 public string? SemesterName { get; set; }
77 public List<ScheduleRowDto> Assignments { get; set; } = new();
78 public List<ProfessorLoadDto> Load { get; set; } = new();
79 public List<SubjectRefDto> UncoveredSubjects { get; set; } = new();
80 public List<SubjectRefDto> AllSubjects { get; set; } = new();
81 public List<ProfessorRefDto> Professors { get; set; } = new();
82 }
83
84 public class ScheduleRowDto
85 {
86 public int SubjectId { get; set; }
87 public string? SubjectName { get; set; }
88 public string? SubjectCode { get; set; }
89 public int ProfessorId { get; set; }
90 public string? ProfessorName { get; set; }
91 }
92
93 public class ProfessorRefDto
94 {
95 public int Id { get; set; }
96 public string? Name { get; set; }
97 }
98
99 public class ProfessorLoadDto
100 {
101 public int ProfessorId { get; set; }
102 public string? ProfessorName { get; set; }
103 public int Subjects { get; set; }
104 }
105
106 public class ScheduleWriteDto
107 {
108 public int ProfessorId { get; set; }
109 public int SemesterId { get; set; }
110 public int SubjectId { get; set; }
111 }
112
113 // ---------- shared ----------
114
115 public class AdminResultDto
116 {
117 public bool Ok { get; set; }
118 public string? Message { get; set; }
119 public int? Id { get; set; }
120 }
121}
Note: See TracBrowser for help on using the repository browser.