CourseBase.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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
  8. {
  9. /// <summary>
  10. /// 课程基础信息
  11. /// </summary>
  12. public class CourseBase : CosmosEntity
  13. { /// <summary>
  14. /// 课程名称
  15. /// </summary>
  16. [Required(ErrorMessage = "{0} 必须填写")]
  17. public string name { get; set; }
  18. /// <summary>
  19. /// 科目
  20. /// </summary>
  21. public IdName subject { get; set; }
  22. /// <summary>
  23. /// 学段
  24. /// </summary>
  25. public IdName period { get; set; }
  26. /// <summary>
  27. /// 专业 不是必须的。
  28. /// </summary>
  29. public IdName major { get; set; }
  30. public string scope { get; set; }
  31. /// <summary>
  32. /// 描述
  33. /// </summary>
  34. public string desc { get; set; }
  35. /// <summary>
  36. /// 课程编号
  37. /// </summary>
  38. public string no { get; set; }
  39. /// <summary>
  40. /// 创建者的id
  41. /// </summary>
  42. public string creatorId { get; set; }
  43. /// <summary>
  44. /// 学校编码
  45. /// </summary>
  46. public string school { get; set; }
  47. /// <summary>
  48. /// 颜色,课表标记颜色
  49. /// </summary>
  50. public string color { get; set; }
  51. }
  52. /// <summary>
  53. /// 课程任务
  54. /// </summary>
  55. public class CourseTask : CosmosEntity
  56. {
  57. // id 2022-semesterId
  58. // code CourseTask-hbcn-courseId
  59. /// <summary>
  60. /// 过期时间,-1永不过期, 1577808000000 2020-01-01。 学校的课程则自动根据学期的时间变化。
  61. /// </summary>
  62. public long expire { get; set; } = -1;
  63. /// <summary>
  64. /// 课程的id
  65. /// </summary>
  66. public string courseId { get; set; }
  67. /// <summary>
  68. /// 课表所属年份
  69. /// </summary>
  70. public int year { get; set; }
  71. /// <summary>
  72. /// semesterId 学期id
  73. /// </summary>
  74. public string semesterId { get; set; }
  75. public List<ScheduleTask> schedules { get; set; } = new List<ScheduleTask>();
  76. /// <summary>
  77. /// 课程持续多少周
  78. /// </summary>
  79. public int weekCount { get; set; } = -1;
  80. }
  81. public class ScheduleTask
  82. {
  83. /// <summary>
  84. /// 教室id
  85. /// </summary>
  86. public string roomId { get; set; }
  87. /// <summary>
  88. /// 班级名单id: 行政班|教学班
  89. /// </summary>
  90. public string groupId { get; set; }
  91. /// <summary>
  92. /// type class行政班 teach教学班
  93. /// </summary>
  94. public string type { get; set; }
  95. /// <summary>
  96. /// 教师的醍摩豆id
  97. /// </summary>
  98. public string teacherId { get; set; }
  99. /// <summary>
  100. /// 排课时间表
  101. /// </summary>
  102. public List<ScheduleTime> times { get; set; } = new List<ScheduleTime>();
  103. }
  104. public class ScheduleTime {
  105. /// <summary>
  106. /// 作息的第几节课的id
  107. /// </summary>
  108. public string id { get; set; }
  109. /// <summary>
  110. /// 星期几
  111. /// </summary>
  112. public string week { get; set; }
  113. /// <summary>
  114. /// all全部,single单周,double双周,custom自定义
  115. /// </summary>
  116. public string mode { get; set; }
  117. /// <summary>
  118. /// 自定义序列
  119. /// </summary>
  120. //[1,2,5,8]
  121. public List<int>index { get; set; }= new List<int>();
  122. }
  123. public class IdName
  124. {
  125. public string id { get; set; }
  126. public string name { get; set; }
  127. }
  128. }