Changeset 1b20b22 for iknow-api/Controllers/UserController.cs
- Timestamp:
- 09/15/26 21:15:53 (8 days ago)
- Branches:
- master
- Children:
- 002cf5f, 20df1a3, b8093a0, bcacc91
- Parents:
- 93c368a
- File:
-
- 1 edited
-
iknow-api/Controllers/UserController.cs (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
iknow-api/Controllers/UserController.cs
r93c368a r1b20b22 1 using iknow_api.DTOs; 1 using iknow_api.DTOs; 2 using iknow_api.Models; 2 3 using Microsoft.AspNetCore.Authorization; 3 4 using Microsoft.AspNetCore.Mvc; … … 83 84 var userData = await _userService.GetUserData(token); 84 85 if (userData == null) return Ok(new { info = "can't get info" }); 86 87 // The study programme comes from the student's most recent 88 // enrolment. Within an academic year winter precedes summer, 89 // so order by year first and put winter ahead of summer. 90 var currentEnrolment = userData.Enrolments? 91 .Where(es => es.Semester != null) 92 .OrderByDescending(es => es.Semester!.Year) 93 .ThenByDescending(es => es.Semester!.Type == sType.summer) 94 .FirstOrDefault(); 95 85 96 var personalInfo = new 86 97 { … … 88 99 embg = userData.EMBG ?? "", 89 100 lastName = userData.Surname ?? "", 90 middleName = userData.MiddleName ?? "",101 middleName = "", // Not an attribute of Users in the ER model 91 102 firstName = userData.Name ?? "", 92 103 maidenName = "", // Property doesn't exist in User model 93 dateOfBirth = userData.Bday .ToString("dd.MM.yyyy"),94 gender = userData.Gender ?? "",95 nationality = userData.Nationality ?? "",96 citizenship = userData.Citizenship ?? "",104 dateOfBirth = userData.Bday?.ToString("dd.MM.yyyy") ?? "", 105 gender = "", // Not an attribute of Users in the ER model 106 nationality = "", // Not an attribute of Users in the ER model 107 citizenship = "", // Not an attribute of Users in the ER model 97 108 scholarship = "", 98 currentPlan = userData.Enrollment Info?.EnrollmentYear.ToString() ?? "",109 currentPlan = userData.EnrollmentYear?.ToString() ?? "", 99 110 registryNumber = "", 100 111 notes = "", … … 105 116 placeOfBirth = userData.ContactInfo?.City ?? "", 106 117 municipalityOfBirth = userData.ContactInfo?.Municipality ?? "", 107 country = userData.Citizenship ?? ""118 country = "" // Not an attribute of Users in the ER model 108 119 }; 109 120 var previousEducation = new … … 112 123 profession = "", 113 124 average = userData.HighSchool?.GPA.ToString() ?? "", 114 language = userData.Nationality ?? "",115 country = userData.Nationality ??"",125 language = "", // Not an attribute of HighSchool in the ER model 126 country = "", 116 127 previousUniversity = userData.HighSchool?.HighSchoolType.ToString() ?? "", 117 128 previousFaculty = "", // Property doesn't exist in HighSchool model … … 120 131 var enrollmentInfo = new 121 132 { 122 enrollmentYear = userData.Enrollment Info?.EnrollmentYear.ToString() ?? "",123 status = userData.EnrollmentInfo?.StudyStatus ?? "",133 enrollmentYear = userData.EnrollmentYear?.ToString() ?? "", 134 status = "", // Not an attribute of Users in the ER model 124 135 cycle = "Прв циклус", 125 program = userData.EnrollmentInfo?.Major?.Name ?? "",126 quota = userData. EnrollmentInfo?.Quota.ToString() ?? "",136 program = currentEnrolment?.Major?.Name ?? "", 137 quota = userData.Quota?.ToString() ?? "", 127 138 secondaryEducationNumber = "", 128 139 previousEducationCredits = "" … … 132 143 placeOfResidence = userData.ContactInfo?.City ?? "", 133 144 municipalityOfResidence = userData.ContactInfo?.Municipality ?? "", 134 country = userData.Citizenship ?? "",145 country = "", // Not an attribute of Users in the ER model 135 146 address = userData.ContactInfo?.Address ?? "", 136 147 temporaryAddress = "", … … 165 176 { 166 177 id = userData[i].Id, 167 semester = (userData[i].Semester.Type == 0 ? "Зимски" : "Летен") + $"({userData[i].Semester.Year}/{userData[i].Semester.Year + 1})", 178 // sType declares summer first, so compare against the member 179 // rather than the ordinal - == 0 meant summer, not winter. 180 semester = (userData[i].Semester.Type == sType.winter ? "Зимски" : "Летен") + $"({userData[i].Semester.Year}/{userData[i].Semester.Year + 1})", 168 181 direction = userData[i].Major?.Name ?? "", 169 182 quota = userData[i].QuotaType.ToString(), 170 note = "",171 studentCom = "",183 note = userData[i].Note ?? "", 184 studentCom = userData[i].StudentComment ?? "", 172 185 sum = "0,00", 173 186 paid = "0,00", 174 187 ukim = "", 175 createdOn = DateTime.Now.ToString("dd.MM.yyyy"),176 dateChanged = DateTime.Now.ToString("dd.MM.yyyy"),188 createdOn = userData[i].CratedAt.ToString("dd.MM.yyyy"), 189 dateChanged = userData[i].LastChange?.ToString("dd.MM.yyyy") ?? "", 177 190 credits = "0,00", 178 191 type = "Ред.", … … 183 196 signatures = "0/5", 184 197 status = "валиден", 185 completed = "Не"198 completed = userData[i].Verified.HasValue ? "Да" : "Не" 186 199 }; 187 200 results.Add(newResult); … … 208 221 { 209 222 id = userData[i].Id, 210 name = (userData[i].Semester.Type == 0? "Зимски" : "Летен") + $"({userData[i].Semester.Year}/{userData[i].Semester.Year + 1})",223 name = (userData[i].Semester.Type == sType.winter ? "Зимски" : "Летен") + $"({userData[i].Semester.Year}/{userData[i].Semester.Year + 1})", 211 224 status = "валиден", 212 225 serviceNumber = 1000000 + random.Next(10000, 100000) … … 221 234 { 222 235 // Create semester key like "winter_2025_2026" or "summer_2025_2026" 223 var semesterType = enrollment.Semester.Type == 0? "winter" : "summer";236 var semesterType = enrollment.Semester.Type == sType.winter ? "winter" : "summer"; 224 237 var semesterKey = $"{semesterType}_{enrollment.Semester.Year}_{enrollment.Semester.Year + 1}"; 225 238 … … 258 271 } 259 272 var currentSemester = userData.FirstOrDefault(); // Get the most recent/current semester 260 var semesterTypeGlobal = currentSemester.Semester.Type == 0? "winter" : "summer";273 var semesterTypeGlobal = currentSemester.Semester.Type == sType.winter ? "winter" : "summer"; 261 274 var semesterData = new 262 275 { 263 276 id = $"{semesterTypeGlobal}_{currentSemester.Semester.Year}_{currentSemester.Semester.Year + 1}", 264 name = (currentSemester.Semester.Type == 0? "Зимски" : "Летен") + $" ({currentSemester.Semester.Year}/{currentSemester.Semester.Year + 1})",277 name = (currentSemester.Semester.Type == sType.winter ? "Зимски" : "Летен") + $" ({currentSemester.Semester.Year}/{currentSemester.Semester.Year + 1})", 265 278 status = "валиден", 266 279 serviceNumber = (1000000 + random.Next(10000, 100000)).ToString(), … … 318 331 date = passed.DatePassed.ToString("dd.MM.yyyy"), 319 332 semester = passed.SemesterSubject.EnrolledSemester?.Semester != null 320 ? (passed.SemesterSubject.EnrolledSemester.Semester.Type == 0? "Зимски" : "Летен") +333 ? (passed.SemesterSubject.EnrolledSemester.Semester.Type == sType.winter ? "Зимски" : "Летен") + 321 334 $" ({passed.SemesterSubject.EnrolledSemester.Semester.Year}/{passed.SemesterSubject.EnrolledSemester.Semester.Year + 1})" 322 335 : "",
Note:
See TracChangeset
for help on using the changeset viewer.
