using System.Collections.Generic; namespace TEAMModelOS.SDK.Models { /// /// 統測活動主體 CosmosDB /// public class JointEvent : CosmosEntity { public string creatorId { get; set; } public string name { get; set; } public JointEventGeo geo { get; set; } = new JointEventGeo(); //可參加活動的國省市區限制 public List admin { get; set; } = new List(); //管理者 public List groups { get; set; } = new List(); //群組 public List schedule { get; set; } = new List(); //進程 public long createTime { get; set; } public long startTime { get; set; } public long endTime { get; set; } public string progress { get; set; } //進程 "pending" "going" "finish" public class JointEventGroup { public string id { get; set; } public string name { get; set; } public HashSet assistants { get; set; } = new HashSet(); //評審TMID列表 } public class JointEventPaper { public string code { get; set; } public string id { get; set; } public string blob { get; set; } public string name { get; set; } } public class JointEventGeo { public string countryId { get; set; } public string provinceId { get; set; } public string cityId { get; set; } public string distId { get; set; } } public class JointEventSchedule { public string type { get; set; } //"exam":評量 "join":報名 public string examType { get; set; } //評量類型 "regular":一般競賽 "custom":挑戰賽 public bool examOverwrite { get; set; } //評量可否重複作答 true:可 false:不可 public string id { get; set; } public string name { get; set; } public long startTime { get; set; } public long endTime { get; set; } public string progress { get; set; } //進程 "pending" "going" "finish" } } /// /// 統測活動老師個人課程 基底class /// public class JointEventGroupBase { public string scope { get; set; } //school:學校(選課班) private:個人 public string creatorId { get; set; } public string creatorName { get; set; } public string schoolId { get; set; } //老師個人課程時為null public string periodId { get; set; } //老師個人課程時為null public List courseLists { get; set; } = new(); public class JointEventGroupCourse { public string subjectId { get; set; } //老師個人課程時為null public string courseId { get; set; } public string courseName { get; set; } public List groupLists { get; set; } = new(); } public class JointEventGroupCourseGroup { public string id { get; set; } public string name { get; set; } } } /// /// 統測活動老師課程 CosmosDB ※id = jointEventId + TMID 老師報名後記入這裡 /// public class JointEventGroupDb : JointEventGroupBase { public string jointEventId { get; set; } public string jointGroupId { get; set; } public string id { get; set; } public string code { get; set; } public string pk { get; set; } public int? ttl { get; set; } = -1; public long? _ts { get; set; } = -1; } /// /// 統測活動學校課程 基底class /// public class JointEventClassBase { public string schoolId { get; set; } public string schoolName { get; set; } public List classLists { get; set; } = new(); public class JointEventClassSchoolClass { public string subjectId { get; set; } //為了生成評量,只好請班級多帶科目ID public string classId { get; set; } public string className { get; set; } } } /// /// 統測活動老師課程 CosmosDB ※id = jointEventId + TMID 老師報名後記入這裡 /// public class JointEventClassDb : JointEventClassBase { public string jointEventId { get; set; } public string jointGroupId { get; set; } public string id { get; set; } public string code { get; set; } public string pk { get; set; } public int? ttl { get; set; } = -1; public long? _ts { get; set; } = -1; } /// /// 統測評量信息 CosmosDB /// public class JointExam : CosmosEntity { public string jointEventId { get; set; } public string jointScheduleId { get; set; } public string jointGroupId { get; set; } public string creatorId { get; set; } public string name { get; set; } public string examType { get; set; } //評量類型 "regular":一般競賽 "custom":挑戰賽 public bool examOverwrite { get; set; } //評量可否重複作答 true:可 false:不可 public List classes { get; set; } = new(); public List stuLists { get; set; } = new(); public List papers { get; set; } = new(); public string progress { get; set; } public long createTime { get; set; } public long updateTime { get; set; } public long startTime { get; set; } public long endTime { get; set; } public string source { get; set; } //评测类型 0:'線上自主評量', 1:'智慧教室評量', 2:'卷卡合一評量' public string scope { get; set; } } }