Course.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. using TEAMModelOS.Service.Models.Core;
  7. using TEAMModelOS.Service.Models.Syllabus;
  8. namespace TEAMModelOS.Service.Models.Courses
  9. {
  10. /// <summary>
  11. /// 课程
  12. /// </summary>
  13. [CosmosDB(RU = 400, Name = "Course")]
  14. public class Course
  15. {
  16. /// <summary>
  17. /// 学校编码 如果是教师私人知识点 则为 personal(写死) 否则为学校编码
  18. /// </summary>
  19. [Required(ErrorMessage = "{0} 必须填写")]
  20. [PartitionKey]
  21. public string partitionKey { get; set; }
  22. [Required(ErrorMessage = "{0} 必须填写")]
  23. public string id { get; set; }
  24. [Required(ErrorMessage = "{0} 必须填写")]
  25. public string TEAMModelId { get; set; }
  26. public string schoolCode { get; set; }
  27. public BaseInfo baseInfo { get; set; }
  28. /// <summary>
  29. /// personal:私有 school:校本
  30. /// </summary>
  31. [Required(ErrorMessage = "{0} 必须填写")]
  32. public string scope { get; set; }
  33. /// <summary>
  34. /// 协同教师
  35. /// </summary>
  36. public List<string> assistTeacher { get; set; }
  37. /// <summary>
  38. /// 上课时间表
  39. /// </summary>
  40. public List<CourseTime> courseTime { get; set; }
  41. /// <summary>
  42. /// 课程“教室” Classroom
  43. /// </summary>
  44. public List<string> classroom { get; set; }
  45. /// <summary>
  46. /// 关联课纲 SyllabusNode
  47. /// </summary>
  48. public List<string> syllabus { get; set; }
  49. }
  50. /// <summary>
  51. /// 基础信息
  52. /// </summary>
  53. public class BaseInfo
  54. {
  55. [Required(ErrorMessage = "{0} 必须填写")]
  56. public string courseCode { get; set; }//'T968475'
  57. [Required(ErrorMessage = "{0} 必须填写")]
  58. public string courseName { get; set; }// '一次函数极其图像'
  59. [Required(ErrorMessage = "{0} 必须填写")]
  60. public string periodCode { get; set; }
  61. [Required(ErrorMessage = "{0} 必须填写")]
  62. public string gradeCode { get; set; }
  63. [Required(ErrorMessage = "{0} 必须填写")]
  64. public string subjectCode { get; set; }
  65. [Required(ErrorMessage = "{0} 必须填写")]
  66. public string notice { get; set; }//课程公告
  67. }
  68. /// <summary>
  69. /// 上课时间表
  70. /// </summary>
  71. public class CourseTime
  72. {
  73. /// <summary>
  74. /// 上课频率 每日、每周、每月、临时课程
  75. /// </summary>
  76. public string frequencyCode { get; set; }
  77. /// <summary>
  78. /// 课程开始时间
  79. /// </summary>
  80. public string beginTime { get; set; }
  81. /// <summary>
  82. /// 课程结束时间
  83. /// </summary>
  84. public string endTime { get; set; }
  85. /// <summary>
  86. /// 上课班级/教室
  87. /// </summary>
  88. public string classroomCode { get; set; } // Classroom
  89. /// <summary>
  90. /// 临时课程
  91. /// </summary>
  92. public string frequencyName { get; set; }
  93. /// <summary>
  94. /// 每月课程
  95. /// </summary>
  96. //public string month { get; set; }
  97. /// <summary>
  98. /// 每周课程
  99. /// </summary>
  100. //public string weekly { get; set; }
  101. }
  102. }