UltrasonicClass.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. using MongoDB.Bson.Serialization.Attributes;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Collections.ObjectModel;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Xml.Linq;
  9. namespace Flyinsono.DBCopy.Tool.Entities
  10. {
  11. internal class UltrasonicClass
  12. {
  13. public string Id { get; private set; }
  14. public DateTime CreateTime { get; set; } = DateTime.MinValue;
  15. public DateTime UpdateTime { get; set; } = DateTime.MinValue;
  16. public bool IsDeleted { get; set; }
  17. /// <summary>
  18. /// 班级名称
  19. /// </summary>
  20. public string Name { get; set; }
  21. /// <summary>
  22. /// 班级描述
  23. /// </summary>
  24. public string Description { get; set; }
  25. /// <summary>
  26. /// 班级开班状态
  27. /// </summary>
  28. public ClassState State { get; set; }
  29. /// <summary>
  30. /// 老师
  31. /// </summary>
  32. public UltrasonicTeacher Teacher { get; set; }
  33. /// <summary>
  34. /// 班级包含的课程
  35. /// </summary>
  36. public ICollection<UltrasonicCourse> Courses { get; set; }
  37. /// <summary>
  38. /// 申请加入班级的学生
  39. /// </summary>
  40. public ICollection<UltrasonicApplyStudent> ApplyStudents { get; set; }
  41. /// <summary>
  42. /// Create admin info
  43. /// </summary>
  44. public AdminInfo CreateAdmin { get; set; }
  45. /// <summary>
  46. /// admin owner list
  47. /// </summary>
  48. public ICollection<AdminInfo> Owners { get; set; }
  49. }
  50. /// <summary>
  51. /// 班级状态
  52. /// </summary>
  53. public enum ClassState
  54. {
  55. ClassCreated = 0,
  56. ClassStarted,
  57. ClassEnded
  58. }
  59. class UltrasonicTeacher
  60. {
  61. public string Id { get; set; }
  62. public string Name { get; set; }
  63. public string NickName { get; set; }
  64. [BsonElementAttribute("LastName")]//2020-01-13 R00343 取消了first Name、Last Name 统一使用 FullName
  65. public string FullName { get; set; }
  66. public DateTime ReceiveTime { get; set; }
  67. public string FirstName { get; set; }
  68. }
  69. /// <summary>
  70. /// 超声课程
  71. /// </summary>
  72. class UltrasonicCourse
  73. {
  74. public string CourseId { get; set; }
  75. /// <summary>
  76. /// 课程名称
  77. /// </summary>
  78. public string Name { get; set; }
  79. /// <summary>
  80. /// 小组列表
  81. /// </summary>
  82. public ICollection<UltrasonicGroup> UltrasonicGroups { get; set; }
  83. }
  84. /// <summary>
  85. /// 超声小组
  86. /// </summary>
  87. class UltrasonicGroup
  88. {
  89. public string GroupId { get; set; }
  90. /// <summary>
  91. /// 助教
  92. /// </summary>
  93. public UltrasonicAssistant Assistant { get; set; }
  94. /// <summary>
  95. /// 学生列表
  96. /// </summary>
  97. public List<UltrasonicStudent> Students { get; set; }
  98. /// <summary>
  99. /// 是否是默认,只有一个默认组
  100. /// </summary>
  101. public bool IsDefault { get; set; }
  102. }
  103. class UltrasonicStudent
  104. {
  105. public string Id { get; set; }
  106. public string Name { get; set; }
  107. public string NickName { get; set; }
  108. [BsonElementAttribute("LastName")]//2020-01-13 R00343 取消了first Name、Last Name 统一使用 FullName
  109. public string FullName { get; set; }
  110. public string FirstName { get; set; }
  111. public DateTime ReceiveTime { get; set; }
  112. }
  113. class UltrasonicAssistant
  114. {
  115. public string Id { get; set; }
  116. public string Name { get; set; }
  117. public string NickName { get; set; }
  118. [BsonElementAttribute("LastName")]//2020-01-13 R00343 取消了first Name、Last Name 统一使用 FullName
  119. public string FullName { get; set; }
  120. public string FirstName { get; set; }
  121. public DateTime ReceiveTime { get; set; }
  122. public bool IsDeleted { get; set; }
  123. }
  124. class UltrasonicApplyStudent
  125. {
  126. public string Id { get; set; }
  127. public string Name { get; set; }
  128. public string NickName { get; set; }
  129. [BsonElementAttribute("LastName")]//2020-01-13 R00343 取消了first Name、Last Name 统一使用 FullName
  130. public string FullName { get; set; }
  131. public string FirstName { get; set; }
  132. public DateTime ApplyTime { get; set; }
  133. }
  134. }