CoursePlan.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using Newtonsoft.Json;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel.DataAnnotations;
  5. using System.Text;
  6. using System.Text.Json.Serialization;
  7. using TEAMModelOS.SDK.Context.Attributes.Azure;
  8. using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
  9. namespace TEAMModelOS.Service.Models
  10. {
  11. [CosmosDB(RU = 400, Name = "Teacher")]
  12. public class CoursePlan :ID
  13. {
  14. [Required(ErrorMessage = "课程ID必须设置")]
  15. public string courseId { get; set; }
  16. [Required(ErrorMessage = "班级编码必须设置")]
  17. public string classroomCode { get; set; }
  18. public string notice { get; set; }
  19. public string id { get; set; }
  20. public int? ttl { get; set; }
  21. public string pk { get; set; }
  22. /// <summary>
  23. /// 教师 TEAMModelId
  24. /// </summary>
  25. [PartitionKey]
  26. [Required(ErrorMessage = "任课教师必须设置")]
  27. public string code { get; set; }
  28. /// <summary>
  29. /// 学生分组
  30. /// </summary>
  31. public List<GroupStudent> groups { get; set; }
  32. /// <summary>
  33. /// 课程时间安排
  34. /// </summary>
  35. public List<CourseTime> courseTimes { get; set; }
  36. /// <summary>
  37. /// 助教
  38. /// </summary>
  39. public List<Assistant> assistant { get; set; }
  40. /// <summary>
  41. /// 学期代码
  42. /// </summary>
  43. public string semesterCode { get; set; }
  44. }
  45. public class Assistant {
  46. /// <summary>
  47. /// 助教 醍摩豆id
  48. /// </summary>
  49. public string TEAMModelId { get; set; }
  50. }
  51. public class CourseTime {
  52. /// <summary>
  53. /// 课时名称 第几节课 课间操等
  54. /// </summary>
  55. [Required(ErrorMessage = "{0}必须设置")]
  56. public string label { get; set; }
  57. /// <summary>
  58. /// 上课时间段 08:00-08:45
  59. /// </summary>
  60. [Required(ErrorMessage = "{0}必须设置")]
  61. public string time { get; set; }
  62. /// <summary>
  63. /// 按周期或特定时间
  64. /// </summary>
  65. [Required(ErrorMessage = "{0}必须设置")]
  66. public int type { get; set; } = 0;
  67. /// <summary>
  68. /// 星期几(星期英文简称)或某一个确定的日期
  69. /// </summary>
  70. [Required(ErrorMessage = "{0}必须设置")]
  71. public string day { get; set; }
  72. }
  73. public class GroupStudent
  74. {
  75. public int seatNo { get; set; }
  76. public string groupCode { get; set; }
  77. public string groupName { get; set; }
  78. public string studentId { get; set; }
  79. }
  80. }