Course.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. [Required(ErrorMessage = "creatorId 必须设置")]
  56. public string creatorId { get; set; }
  57. /// <summary>
  58. /// 学校编码或教师tmdid
  59. /// </summary>
  60. [Required(ErrorMessage = "school 必须设置")]
  61. public string school { get; set; }
  62. //哪一学年的课程
  63. public int year { get; set; }
  64. }
  65. public class Schedule
  66. {
  67. /// <summary>
  68. /// 教室
  69. /// </summary>
  70. public string room { get; set; }
  71. /// <summary>
  72. /// 班级名单id
  73. /// </summary>
  74. public string classId { get; set; }
  75. [Required(ErrorMessage = "教师id {0} 必须填写")]
  76. public string teacherId { get; set; }
  77. /// <summary>
  78. /// 自定义名单
  79. /// </summary>
  80. public string stulist { get; set; }
  81. public List<TimeInfo> time { get; set; } = new List<TimeInfo>();
  82. }
  83. public class ScheduleTimeDto
  84. {
  85. public string courseId { get; set; }
  86. /// <summary>
  87. /// 教室
  88. /// </summary>
  89. public string roomId { get; set; }
  90. /// <summary>
  91. /// 班级名单id
  92. /// </summary>
  93. public string classId { get; set; }
  94. public string teacherId { get; set; }
  95. /// <summary>
  96. /// 自定义名单
  97. /// </summary>
  98. public string stulist { get; set; }
  99. public string timeId { get; set; }
  100. public string week { get; set; }
  101. public string keyTeacher { get; set; }//teacherId_week_timeId
  102. public string keyGroupId { get; set; }//classId/stulist_week_timeId
  103. public string keyRoomIds { get; set; }//room_week_timeId
  104. }
  105. public class ScheduleNoTimeDto
  106. {
  107. public string courseId { get; set; }
  108. /// <summary>
  109. /// 教室
  110. /// </summary>
  111. public string roomId { get; set; }
  112. /// <summary>
  113. /// 班级名单id
  114. /// </summary>
  115. public string classId { get; set; }
  116. public string teacherId { get; set; }
  117. /// <summary>
  118. /// 自定义名单
  119. /// </summary>
  120. public string stulist { get; set; }
  121. }
  122. public class TimeInfo
  123. {
  124. public string id { get; set; }
  125. public string week { get; set; }
  126. //public string start { get; set; }
  127. //public string end { get; set; }
  128. }
  129. public class PeriodSimple
  130. {
  131. public string id { get; set; }
  132. public string name { get; set; }
  133. }
  134. public class SubjectSimple
  135. {
  136. public string id { get; set; }
  137. public string name { get; set; }
  138. }
  139. /* public class Info
  140. {
  141. public string id { get; set; }
  142. public string name { get; set; }
  143. }*/
  144. public class Teachers
  145. {
  146. public string id { get; set; }
  147. public string name { get; set; }
  148. }
  149. public class CourseDtoImpt {
  150. public List<CourseDto> courses { get; set; } = new List<CourseDto>();
  151. }
  152. public class CourseDto
  153. {
  154. public string id { get; set; }
  155. [Required(ErrorMessage = "{0} 课程的名称必须填写")]
  156. public string name { get; set; }
  157. public string desc { get; set; }
  158. public string no { get; set; }
  159. [Required(ErrorMessage = "{0} 课程的科目id必须填写"), RegularExpression(@"[0-9a-zA-Z]{8}(-[0-9a-zA-Z]{4}){3}-[0-9a-zA-Z]{12}",ErrorMessage ="科目的uuid格式错误!")]
  160. public string subjectId { get; set; }
  161. public string subjectName { get; set; }
  162. public string periodId { get; set; }
  163. }
  164. }