Activity.cs 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq;
  5. using System.Net.Mail;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace TEAMModelOS.SDK.Models
  9. {
  10. public class Activity : CosmosEntity
  11. {
  12. //id 活动id,
  13. //code Activity-hbcn/areaId
  14. public Activity() {
  15. pk="Activity";
  16. }
  17. [Required(ErrorMessage = "Required")]
  18. public string name { get; set; }
  19. [Required(ErrorMessage = "Required")]
  20. public string subject { get; set; }
  21. public string description { get; set; }
  22. public string address { get; set; }
  23. public long stime { get; set; }
  24. public long etime { get; set; }
  25. public string poster { get; set; }
  26. public List<Attachment> attachment { get; set; } = new List<Attachment>();
  27. public List<string> zb { get; set; } = new List<string>();
  28. public List<string> cb { get; set; } = new List<string>();
  29. /// <summary>
  30. /// "hbcn/区级id,areaId",
  31. /// </summary>
  32. [Required(ErrorMessage = "Required")]
  33. public string owner { get; set; }
  34. /// <summary>
  35. /// "public公开/area区级/school校级",
  36. /// </summary>
  37. [Required(ErrorMessage = "Required")]
  38. public string scope { get; set; }
  39. /// <summary>
  40. /// "enroll/报名制,invite/邀请制",
  41. /// </summary>
  42. [Required(ErrorMessage = "Required")]
  43. public string joinMode { get; set; }
  44. /// <summary>
  45. /// //区级活动时允许参与的学校,如果为空则全部学校
  46. /// </summary>
  47. public List<IdNamePicture> schools { get; set; } = new List<IdNamePicture>();
  48. /// <summary>
  49. /// //邀请制,允许参加的教师
  50. /// </summary>
  51. public List<IdNameSchool> inviteTeachers { get; set; } = new List<IdNameSchool>();
  52. /// <summary>
  53. /// 模块"Contest/赛课活动", "Training/线上培训", "Research/教研活动"
  54. /// </summary>
  55. public List<string> modules { get; set; } = new List<string>();
  56. /// <summary>
  57. /// 本次活动的评审专家
  58. /// </summary>
  59. public List<Expert> experts { get; set; } = new List<Expert>();
  60. /// <summary>
  61. /// 所属年份
  62. /// </summary>
  63. public int year { get; set; }
  64. /// <summary>
  65. /// 创建时间
  66. /// </summary>
  67. public long createTime { get; set; }
  68. /// <summary>
  69. /// 创建者
  70. /// </summary>
  71. public string creatorId { get; set; }
  72. }
  73. /// <summary>
  74. /// //赛课模块的数据结构
  75. /// </summary>
  76. public class Contest : CosmosEntity
  77. {
  78. //id 活动id,
  79. public Contest()
  80. {
  81. code = "Contest";
  82. pk = "Contest";
  83. }
  84. /// <summary>
  85. /// //参加活动获得积分。根据最后评委打分,0-100的比例获得积分,不足一分按一分计算。
  86. /// </summary>
  87. public int balance { get; set; }
  88. /// <summary>
  89. /// "sign","upload","review","score"//报名模块,上传作品模块,评审模块,成绩公布模块
  90. /// </summary>
  91. public List<string> modules { get; set; } = new List<string>();
  92. public ContestSign sign { get; set; }
  93. public ContestUpload upload { get; set; }
  94. public ContestReview review { get; set; }
  95. public ContestScore score { get; set; }
  96. }
  97. public class ContestScore
  98. {
  99. public long stime { get; set; }
  100. public long etime { get; set; }
  101. }
  102. public class ContestReview
  103. {
  104. public long stime { get; set; }
  105. public long etime { get; set; }
  106. /// <summary>
  107. /// //default 默认,评审规则
  108. /// </summary>
  109. public string ruleId { get; set; }
  110. }
  111. public class ContestUpload
  112. {
  113. public long stime { get; set; }
  114. public long etime { get; set; }
  115. /// <summary>
  116. /// ["file"], 提交作品的格式
  117. /// </summary>
  118. public List<string> type { get; set; }
  119. public string desc { get; set;}
  120. }
  121. public class ContestSign
  122. {
  123. /// <summary>
  124. /// "name", "phone", "period", "subject", "school", "contestType", "job"
  125. /// </summary>
  126. public List<string> field { get; set; } = new List<string>();
  127. public long stime { get; set; }
  128. public long etime { get; set; }
  129. /// <summary>
  130. /// //报名人数限制
  131. /// </summary>
  132. public int limit { get; set; }
  133. }
  134. /// <summary>
  135. /// 在线培训模块的数据结构
  136. /// </summary>
  137. public class Training : CosmosEntity
  138. {
  139. //id 活动id,
  140. public Training()
  141. {
  142. code = "Training";
  143. pk = "Training";
  144. }
  145. /// <summary>
  146. /// //参加活动获得积分。根据最后评委打分,0-100的比例获得积分,不足一分按一分计算。
  147. /// </summary>
  148. public int balance { get; set; }
  149. /// <summary>
  150. /// "online", "submit", "exam"模块
  151. /// </summary>
  152. public List<string> modules { get; set; } = new List<string>();
  153. public List<TrainingAbility> abilities { get; set; }= new List<TrainingAbility>();
  154. public TrainingOnline online { get; set; }
  155. public TrainingSubmit submit { get; set; }
  156. public TrainingExam exam { get; set; }
  157. public long stime { get; set; }
  158. public long etime { get; set; }
  159. }
  160. public class TrainingOnline
  161. {
  162. /// <summary>
  163. /// //最少学习多少积分
  164. /// </summary>
  165. public int least { get; set; }
  166. /// <summary>
  167. /// //至少修三个能力点
  168. /// </summary>
  169. public int limit { get; set; }
  170. }
  171. public class TrainingSubmit
  172. {
  173. public int balance { get; set; } //单个认证合格获得的积分0-5
  174. }
  175. public class TrainingExam
  176. {
  177. public int balance { get; set; } //单个认证合格获得的积分0-5
  178. }
  179. /// <summary>
  180. /// 教研中心技能点
  181. /// </summary>
  182. public class TrainingAbility
  183. {
  184. /// <summary>
  185. /// //学习完成获得积分,0-10
  186. /// </summary>
  187. public int balance { get; set; }
  188. public string id { get; set; }
  189. /// <summary>
  190. ///新建字段 维度 对应 原来的 subjectId 学科
  191. /// </summary>
  192. public string dimension { get; set; }
  193. /// <summary>
  194. /// 标号 A1 A2 A3....
  195. /// </summary>
  196. public string no { get; set; }
  197. /// <summary>
  198. /// 册别name
  199. /// </summary>
  200. [Required(ErrorMessage = "{0} 必须填写")]
  201. public string name { get; set; }
  202. public List<AbilityTask> abilityTasks { get; set; } = new List<AbilityTask>();
  203. public string desc { get; set; }
  204. public string sug { get; set; }
  205. public List<AbilityStds> stds { get; set; } = new List<AbilityStds>();
  206. /// <summary>
  207. ///自测练习题试卷 blob地址
  208. /// </summary>
  209. public string blob { get; set; }
  210. /// <summary>
  211. ///默认未设置0 必修1 通识2 选修3
  212. /// </summary>
  213. public int currency { get; set; }
  214. }
  215. public class Research : CosmosEntity
  216. {
  217. //id 活动id,
  218. public Research()
  219. {
  220. code = "Research";
  221. pk = "Research";
  222. }
  223. /// <summary>
  224. /// "sign", //关联HiTeach课例的时候,可自动关联。 "homework", //作业 "examLite", //评测 "vote", //投票 "survey" //问卷, 此处几个活动的id是 赛课大活动的id
  225. /// </summary>
  226. public List<string> modules { get; set; } = new List<string>();
  227. public long stime { get; set; }
  228. public long etime { get; set; }
  229. public ResearchSign sign { get; set; }
  230. public ResearchExamLite examLite { get; set; }
  231. public ResearchHomework homework { get; set; }
  232. public ResearchSurvey survey { get; set; }
  233. public ResearchVote vote { get; set; }
  234. }
  235. public class ResearchSign
  236. {
  237. /// <summary>
  238. /// //活动签到活得0-5
  239. /// </summary>
  240. public int balance { get; set; }
  241. }
  242. public class ResearchHomework
  243. {
  244. public List<string> type { get; set; } = new List<string>();
  245. /// <summary>
  246. /// //活动签到活得0-5
  247. /// </summary>
  248. public int balance { get; set; }
  249. }
  250. public class ResearchExamLite
  251. {
  252. /// <summary>
  253. /// //完成评测练习,可获取0-5
  254. /// </summary>
  255. public int balance { get; set; }
  256. }
  257. public class ResearchVote
  258. {
  259. /// <summary>
  260. /// //完成评测练习,可获取0-5
  261. /// </summary>
  262. public int balance { get; set; }
  263. }
  264. public class ResearchSurvey
  265. {
  266. /// <summary>
  267. /// //完成评测练习,可获取0-5
  268. /// </summary>
  269. public int balance { get; set; }
  270. }
  271. public class Expert {
  272. public string id { get; set; }
  273. public string name { get; set; }
  274. public string mobile { get; set; }
  275. /// <summary>
  276. /// 职称
  277. /// </summary>
  278. public string title { get; set; }
  279. /// <summary>
  280. /// 科目
  281. /// </summary>
  282. public string subject { get; set; }
  283. /// <summary>
  284. /// 学段
  285. /// </summary>
  286. public string period { get; set; }
  287. public string picture { get; set; }
  288. }
  289. }