ExamImport.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace TEAMModelOS.SDK.Models.Cosmos.School
  8. {
  9. /// <summary>
  10. /// 双向细目表导入
  11. /// </summary>
  12. public class ExamImport : CosmosEntity
  13. {
  14. /// <summary>
  15. /// id:根据名称不重复的前台生成UUID,
  16. /// code:ExamImport-hbcn
  17. /// pk:ExamImport
  18. /// 评测名称
  19. /// </summary>
  20. public string name { get; set; }
  21. /// <summary>
  22. /// 评测类型 期末,期中,季考,月考,周考,测验,练习,作业,日常,课中
  23. /// </summary>
  24. public string type { get; set; }
  25. /// <summary>
  26. /// 学校id
  27. /// </summary>
  28. public string school { get; set; }
  29. /// <summary>
  30. /// 考试时间
  31. /// </summary>
  32. public long time { get; set; }
  33. /// <summary>
  34. /// 学年
  35. /// </summary>
  36. public int year { get; set; }
  37. /// <summary>
  38. /// 学期
  39. /// </summary>
  40. public string semesterId { get; set; }
  41. /// <summary>
  42. /// 学段
  43. /// </summary>
  44. public string periodId { get; set; }
  45. /// <summary>
  46. /// 科目
  47. /// </summary>
  48. public List<ExamImportSubject> subjects { get; set; }= new List<ExamImportSubject>();
  49. }
  50. /// <summary>
  51. /// 科目
  52. /// </summary>
  53. public class ExamImportSubject
  54. {
  55. /// <summary>
  56. /// 科目id
  57. /// </summary>
  58. public string id { get; set; }
  59. /// <summary>
  60. /// 科目名称
  61. /// </summary>
  62. public string name { get; set; }
  63. /// <summary>
  64. /// 配分
  65. /// </summary>
  66. public List<ExamImportItem> items { get; set; }= new List<ExamImportItem>();
  67. /// <summary>
  68. /// 学生成绩
  69. /// </summary>
  70. public List<ExamImportStudent> students { get; set; }= new List<ExamImportStudent> ();
  71. }
  72. public class ExamImportStudent {
  73. /// <summary>
  74. /// 学生id
  75. /// </summary>
  76. public string id { get; set; }
  77. /// <summary>
  78. /// 姓名
  79. /// </summary>
  80. public string name { get; set; }
  81. /// <summary>
  82. /// 班级id
  83. /// </summary>
  84. public string classId { get; set; }
  85. /// <summary>
  86. /// 总分
  87. /// </summary>
  88. public double totalScore { get; set; }
  89. /// <summary>
  90. /// 小题得分,下标0顺序开始 第一题....N
  91. /// </summary>
  92. public List<double> scores { get; set; }
  93. }
  94. /// <summary>
  95. /// 配分
  96. /// </summary>
  97. public class ExamImportItem {
  98. /// <summary>
  99. /// 从数组下标0开始
  100. /// </summary>
  101. public int index { get; set; }
  102. /// <summary>
  103. /// 认知层次
  104. /// </summary>
  105. public string filed { get; set; }
  106. /// <summary>
  107. /// 知识点
  108. /// </summary>
  109. public HashSet<string> point { get; set; } = new HashSet<string>();
  110. //compose--综合题,single--单选题,multiple--多选题,judge--判断题,complete--填空题,subjective--问答题,connector--连线题,correct--改错题
  111. public string type { get; set; }
  112. /// <summary>
  113. /// 配分总分
  114. /// </summary>
  115. public double score { get; set; }
  116. }
  117. /// <summary>
  118. /// 双向细目表 前端导入结构
  119. /// </summary>
  120. public class ImportExam {
  121. [Required(ErrorMessage = "评测必填")]
  122. public string name { get; set; }
  123. [Required(ErrorMessage = "时间必填")]
  124. public string time { get; set; }
  125. [Required(ErrorMessage = "类型必填")]
  126. public string type { get; set; }
  127. [Required(ErrorMessage = "学段必填")]
  128. public string periodId { get; set; }
  129. [Required(ErrorMessage = "学校必填")]
  130. public string school { get; set; }
  131. public List<ImportExamSubject> subjects { get; set; } = new List<ImportExamSubject>();
  132. }
  133. /// <summary>
  134. /// 科目信息,前端导入结构
  135. /// </summary>
  136. public class ImportExamSubject
  137. {
  138. public string name { get; set; }
  139. public List<ExamImportItem> items { get; set; } = new List<ExamImportItem>();
  140. public List<ExamImportStudent> students { get; set; } = new List<ExamImportStudent>();
  141. }
  142. }