JointExam.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using System.Collections.Generic;
  2. namespace TEAMModelOS.SDK.Models
  3. {
  4. /// <summary>
  5. /// 統測活動主體 CosmosDB
  6. /// </summary>
  7. public class JointEvent : CosmosEntity
  8. {
  9. public string creatorId { get; set; }
  10. public string name { get; set; }
  11. public JointEventGeo geo { get; set; } = new JointEventGeo(); //可參加活動的國省市區限制
  12. public List<string> admin { get; set; } = new List<string>(); //管理者
  13. public List<JointEventGroup> group { get; set; } = new List<JointEventGroup>(); //群組
  14. public List<JointEventSchedule> schedule { get; set; } = new List<JointEventSchedule>(); //進程
  15. public long createTime { get; set; }
  16. public long startTime { get; set; }
  17. public long endTime { get; set; }
  18. public string progress { get; set; } //進程 "pending" "going" "finish"
  19. public class JointEventGroup
  20. {
  21. public string id { get; set; }
  22. public string name { get; set; }
  23. }
  24. public class JointEventPaper
  25. {
  26. public string code { get; set; }
  27. public string id { get; set; }
  28. public string blob { get; set; }
  29. public string name { get; set; }
  30. }
  31. public class JointEventGeo
  32. {
  33. public string countryId { get; set; }
  34. public string provinceId { get; set; }
  35. public string cityId { get; set; }
  36. public string distId { get; set; }
  37. }
  38. public class JointEventSchedule
  39. {
  40. public string type { get; set; } //"exam":評量 "join":報名
  41. public string examType { get; set; } //評量類型 "regular":一般競賽 "Custom":挑戰賽
  42. public string id { get; set; }
  43. public string name { get; set; }
  44. public long startTime { get; set; }
  45. public long endTime { get; set; }
  46. public string progress { get; set; } //進程 "pending" "going" "finish"
  47. }
  48. }
  49. /// <summary>
  50. /// 統測活動老師課程 基底class
  51. /// </summary>
  52. public class JointEventGroupTeacherBase
  53. {
  54. public string creatorId { get; set; }
  55. public string creatorName { get; set; }
  56. public List<JointEventTeacherGroupCourse> courseLists { get; set; } = new();
  57. public class JointEventTeacherGroupCourse
  58. {
  59. public string courseId { get; set; }
  60. public string courseName { get; set; }
  61. public List<JointEventTeacherGroupCourseGroup> groupLists { get; set; } = new();
  62. }
  63. public class JointEventTeacherGroupCourseGroup
  64. {
  65. public string id { get; set; }
  66. public string name { get; set; }
  67. }
  68. }
  69. /// <summary>
  70. /// 統測活動老師課程 CosmosDB ※id = jointEventId + TMID 老師報名後記入這裡
  71. /// </summary>
  72. public class JointEventTeacherGroup : JointEventGroupTeacherBase
  73. {
  74. public string jointEventId { get; set; }
  75. public string jointGroupId { get; set; }
  76. public string id { get; set; }
  77. public string code { get; set; }
  78. public string pk { get; set; }
  79. public int? ttl { get; set; } = -1;
  80. public long? _ts { get; set; } = -1;
  81. }
  82. /// <summary>
  83. /// 統測評量信息 CosmosDB
  84. /// </summary>
  85. public class JointExam : CosmosEntity
  86. {
  87. public string jointEventId { get; set; }
  88. public string creatorId { get; set; }
  89. public string name { get; set; }
  90. public List<JointEventGroupTeacherBase> groupLists { get; set; } = new();
  91. public List<PaperSimple> papers { get; set; } = new();
  92. public string progress { get; set; }
  93. public long createTime { get; set; }
  94. public long updateTime { get; set; }
  95. public long startTime { get; set; }
  96. public long endTime { get; set; }
  97. public string source { get; set; } //评测类型 0:'線上自主評量', 1:'智慧教室評量', 2:'卷卡合一評量'
  98. public string scope { get; set; }
  99. }
  100. }