|
@@ -215,6 +215,7 @@ namespace TEAMModelAPI.Controllers
|
|
School data = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<School>(school, new PartitionKey("Base"));
|
|
School data = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<School>(school, new PartitionKey("Base"));
|
|
foreach (var item in teachers) {
|
|
foreach (var item in teachers) {
|
|
var teacher = teachersList.Find(x => x.id.Equals(item.id));
|
|
var teacher = teachersList.Find(x => x.id.Equals(item.id));
|
|
|
|
+ var coreUser = coreUsers.Find(x => x.id.Equals(item.id));
|
|
if (teacher != null)
|
|
if (teacher != null)
|
|
{
|
|
{
|
|
var sch= teacher.schools?.Find(x => x.schoolId.Equals(school));
|
|
var sch= teacher.schools?.Find(x => x.schoolId.Equals(school));
|
|
@@ -229,9 +230,10 @@ namespace TEAMModelAPI.Controllers
|
|
teacher.schools = new List<Teacher.TeacherSchool> { new Teacher.TeacherSchool { schoolId = school, name = data.name, status = "join", time = now, picture = data.picture, areaId = data.areaId } };
|
|
teacher.schools = new List<Teacher.TeacherSchool> { new Teacher.TeacherSchool { schoolId = school, name = data.name, status = "join", time = now, picture = data.picture, areaId = data.areaId } };
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).ReplaceItemAsync<Teacher>(teacher,teacher.id, new PartitionKey("Base"));
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- var coreUser= coreUsers.Find(x => x.id.Equals(item.id));
|
|
|
|
|
|
+
|
|
teacher = new Teacher
|
|
teacher = new Teacher
|
|
{
|
|
{
|
|
id = coreUser.id,
|
|
id = coreUser.id,
|
|
@@ -243,6 +245,39 @@ namespace TEAMModelAPI.Controllers
|
|
pk="Base",
|
|
pk="Base",
|
|
schools = new List<Teacher.TeacherSchool> { new Teacher.TeacherSchool { schoolId = school, name = data.name, status = "join", time = now, picture = data.picture, areaId = data.areaId } }
|
|
schools = new List<Teacher.TeacherSchool> { new Teacher.TeacherSchool { schoolId = school, name = data.name, status = "join", time = now, picture = data.picture, areaId = data.areaId } }
|
|
};
|
|
};
|
|
|
|
+ await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).CreateItemAsync(teacher, new PartitionKey("Base"));
|
|
|
|
+ }
|
|
|
|
+ var schoolTeacher = schoolTeachers.Find(x => x.id.Equals(item.id));
|
|
|
|
+ if (schoolTeacher == null)
|
|
|
|
+ {
|
|
|
|
+ List<string> subjectIds=new List<string>();
|
|
|
|
+ if (item.subjects .IsNotEmpty() && !string.IsNullOrWhiteSpace(item.periodId)) {
|
|
|
|
+ item.subjects.ForEach(s => {
|
|
|
|
+ var subject= data.period.Find(x => x.id.Equals(item.periodId))?.subjects?.Find(x => x.name.Equals(s.name));
|
|
|
|
+ if (subject == null)
|
|
|
|
+ {
|
|
|
|
+ subject = data.period.Find(x => x.id.Equals(item.periodId))?.subjects?.Find(x => x.id.Equals(s.id));
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ subjectIds.Add(subject.id);
|
|
|
|
+ }
|
|
|
|
+ if (subject == null) {
|
|
|
|
+ var period= data.period.Find(x => x.id.Equals(item.periodId));
|
|
|
|
+ if (period != null) {
|
|
|
|
+ period.subjects.Add(new Subject { id = s.id, name = s.name ,type=2});
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ schoolTeacher = new SchoolTeacher
|
|
|
|
+ {
|
|
|
|
+ id = item.id,
|
|
|
|
+ name=coreUser.name,
|
|
|
|
+ picture=coreUser.picture,
|
|
|
|
+ job=item.job,
|
|
|
|
+
|
|
|
|
+ };
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return Ok();
|
|
return Ok();
|