|
@@ -1632,16 +1632,29 @@ namespace TEAMModelOS.Controllers
|
|
|
[Authorize(Roles = "IES")]
|
|
|
#endif
|
|
|
public async Task<IActionResult> Backups(JsonElement json) {
|
|
|
- if (!json.TryGetProperty("semesterId", out JsonElement semesterId)) { return BadRequest(); }
|
|
|
- if (!json.TryGetProperty("targetStudyYear", out JsonElement targetStudyYear)) { return BadRequest(); }
|
|
|
- if (!json.TryGetProperty("currStudyYear", out JsonElement currStudyYear)) { return BadRequest(); }
|
|
|
+ if (!json.TryGetProperty("targetStudyYear", out JsonElement _targetStudyYear)) { return BadRequest(); }
|
|
|
+ if (!json.TryGetProperty("sourceStudyYear", out JsonElement _sourceStudyYear)) { return BadRequest(); }
|
|
|
if (!json.TryGetProperty("periodId", out JsonElement periodId)) { return BadRequest(); }
|
|
|
+
|
|
|
+ int targetStudyYear = _targetStudyYear.GetInt32();
|
|
|
+ int sourceStudyYear = _sourceStudyYear.GetInt32();
|
|
|
var (userid, _, _, schoolId) = HttpContext.GetAuthTokenInfo();
|
|
|
School school = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReadItemAsync<School>(schoolId, new PartitionKey("Base"));
|
|
|
var period= school.period.Find(z => z.id.Equals($"{periodId}"));
|
|
|
if (period!=null) {
|
|
|
var semester = SchoolService.GetSemester(period,DateTimeOffset.UtcNow.ToUnixTimeMilliseconds());
|
|
|
+ int classYear = sourceStudyYear;
|
|
|
+ if (sourceStudyYear>=semester.studyYear)
|
|
|
+ {
|
|
|
+
|
|
|
+ if (targetStudyYear >= semester.studyYear) {
|
|
|
+ classYear =semester.studyYear;
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ classYear=sourceStudyYear;
|
|
|
+ }
|
|
|
}
|
|
|
return Ok();
|
|
|
}
|