Course.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Text;
  5. using TEAMModelOS.SDK.Context.Attributes.Azure;
  6. namespace TEAMModelOS.SDK.Models
  7. {
  8. /// <summary>
  9. /// 课程
  10. /// </summary>
  11. public class Course : CosmosEntity
  12. {
  13. public Course()
  14. {
  15. pk = "Course";
  16. subject = new SubjectSimple();
  17. period = new PeriodSimple();
  18. schedule = new List<Schedule>();
  19. }
  20. /// <summary>
  21. /// 课程名称
  22. /// </summary>
  23. [Required(ErrorMessage = "{0} 必须填写")]
  24. public string name { get; set; }
  25. /// <summary>
  26. /// 课程编码
  27. /// </summary>
  28. /* [Required(ErrorMessage = "{0} 必须填写")]
  29. public string courseCode { get; set; }*/
  30. ///// <summary>
  31. ///// 学期编码
  32. ///// </summary>
  33. //public string semesterCode { get; set; }
  34. /// <summary>
  35. /// 科目编码
  36. /// </summary>
  37. public SubjectSimple subject { get; set; }
  38. /// <summary>
  39. /// 学段编码
  40. /// </summary>
  41. public PeriodSimple period { get; set; }
  42. /// <summary>
  43. /// 任课教师范围
  44. /// </summary>
  45. //public List<Teachers> teachers { get; set; }
  46. public string scope { get; set; }
  47. public string desc { get; set; }
  48. public List<Schedule> schedule { get; set; }
  49. //public List<Customize> classes { get; set; }
  50. public string no { get; set; }
  51. ///新增字段
  52. /// <summary>
  53. /// 创建者的id
  54. /// </summary>
  55. public string creatorId { get; set; }
  56. /// <summary>
  57. /// 学校编码或教师tmdid
  58. /// </summary>
  59. [Required(ErrorMessage = "school 必须设置")]
  60. public string school { get; set; }
  61. //哪一学年的课程
  62. public int year { get; set; }
  63. }
  64. public class Schedule
  65. {
  66. /// <summary>
  67. /// 教室
  68. /// </summary>
  69. public string room { get; set; }
  70. /// <summary>
  71. /// 班级名单id
  72. /// </summary>
  73. public string classId { get; set; }
  74. [Required(ErrorMessage = "教师id {0} 必须填写")]
  75. public string teacherId { get; set; }
  76. /// <summary>
  77. /// 自定义名单
  78. /// </summary>
  79. public string stulist { get; set; }
  80. public List<TimeInfo> time { get; set; } = new List<TimeInfo>();
  81. }
  82. public class ScheduleTimeDto
  83. {
  84. public string courseId { get; set; }
  85. /// <summary>
  86. /// 教室
  87. /// </summary>
  88. public string roomId { get; set; }
  89. /// <summary>
  90. /// 班级名单id
  91. /// </summary>
  92. public string classId { get; set; }
  93. public string teacherId { get; set; }
  94. /// <summary>
  95. /// 自定义名单
  96. /// </summary>
  97. public string stulist { get; set; }
  98. public string timeId { get; set; }
  99. public string week { get; set; }
  100. public string keyTeacher { get; set; }//teacherId_week_timeId
  101. public string keyGroupId { get; set; }//classId/stulist_week_timeId
  102. public string keyRoomIds { get; set; }//room_week_timeId
  103. }
  104. public class ScheduleNoTimeDto
  105. {
  106. public string courseId { get; set; }
  107. /// <summary>
  108. /// 教室
  109. /// </summary>
  110. public string roomId { get; set; }
  111. /// <summary>
  112. /// 班级名单id
  113. /// </summary>
  114. public string classId { get; set; }
  115. public string teacherId { get; set; }
  116. /// <summary>
  117. /// 自定义名单
  118. /// </summary>
  119. public string stulist { get; set; }
  120. }
  121. public class TimeInfo
  122. {
  123. public string id { get; set; }
  124. public string week { get; set; }
  125. //public string start { get; set; }
  126. //public string end { get; set; }
  127. }
  128. public class PeriodSimple
  129. {
  130. public string id { get; set; }
  131. public string name { get; set; }
  132. }
  133. public class SubjectSimple
  134. {
  135. public string id { get; set; }
  136. public string name { get; set; }
  137. }
  138. /* public class Info
  139. {
  140. public string id { get; set; }
  141. public string name { get; set; }
  142. }*/
  143. public class Teachers
  144. {
  145. public string id { get; set; }
  146. public string name { get; set; }
  147. }
  148. public class CourseDtoImpt {
  149. public List<CourseDto> courses { get; set; } = new List<CourseDto>();
  150. }
  151. public class CourseDto
  152. {
  153. public string id { get; set; }
  154. [Required(ErrorMessage = "{0} 课程的名称必须填写")]
  155. public string name { get; set; }
  156. public string desc { get; set; }
  157. public string no { get; set; }
  158. [Required(ErrorMessage = "{0} 课程的科目id必须填写"), RegularExpression(@"[0-9a-zA-Z]{8}(-[0-9a-zA-Z]{4}){3}-[0-9a-zA-Z]{12}",ErrorMessage ="科目的uuid格式错误!")]
  159. public string subjectId { get; set; }
  160. public string subjectName { get; set; }
  161. public string periodId { get; set; }
  162. }
  163. }