using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; namespace _2021_backend.Models { public enum status { 刚报名, 通过, 已选时间, 需调整时间, 已确认时间, 不通过, 已评分, 暂缺 } public enum yard { 暂缺 = 0, 丹青 = 1, 蓝田 = 2, 云峰 = 3, 竺院 = 4, 其他 = 5, } public enum sex { Boy = 1, Girl = 0, Unknown = 2 } public enum grade { 暂缺 = 0, 大一 = 1, 大二 = 2, 大三 = 3, 大四 = 4, } public enum experience { 暂缺 = 0, 萌新 = 1, 略有了解 = 2, 了解较多 = 3, 轻车熟路 = 4 } public class Student { public void Update(Submission sub) { Name = sub.Name; Email = sub.Email; Tel = sub.Tel; Stuid = sub.Stuid; Sex = sub.Sex; Grade = sub.Grade; Major = sub.Major; Yard = sub.Yard; Exp = sub.Exp; Timelist = sub.Timelist; Submissions.Add(sub.Guid); } public Student() { Guid = Guid.NewGuid(); Comments = new List(); Messages = new List(); Submissions = new List(); Timelist = new List(); } public static Student create(Submission sub) { Student student = new Student(); student.Guid = Guid.NewGuid(); student.Name = sub.Name; student.Email = sub.Email; student.Tel = sub.Tel; student.Stuid = sub.Stuid; student.Sex = sub.Sex; student.Grade = sub.Grade; student.Major = sub.Major; student.Yard = sub.Yard; student.Exp = sub.Exp; student.Timelist = sub.Timelist; student.Submissions.Add(sub.Guid); student.RegisterTime = sub.SubmitTime; return student; } [Key] [Display(Name = "ID")] public Guid Guid { get; set; } [Display(Name = "姓名")] public string Name { get; set; } [Display(Name = "学号")] public string Stuid { get; set; } [Display(Name = "性别")] public sex Sex { get; set; } [Display(Name = "年级")] public grade Grade { get; set; } [Display(Name = "学园")] public yard Yard { get; set; } [Display(Name = "专业")] public string Major { get; set; } [Display(Name = "电子邮件")] public string Email { get; set; } [Display(Name = "电话")] public string Tel { get; set; } [Display(Name = "经验程度")] public experience Exp { get; set; } [Display(Name = "最终场次")] public Guid InterviewTime { get; set; } [Display(Name = "提交记录")] public List Submissions { get; set; } [Display(Name = "短信记录")] public List Messages { get; set; } [Display(Name = "可选场次")] public List Timelist { get; set; } [Display(Name = "评论")] public List Comments { get; set; } [Display(Name = "打分")] public int Score { get; set; } [Display(Name = "状态")] public status Status { get; set; } [Display(Name = "最近一次提交时间")] [DataType(DataType.DateTime)] [DisplayFormat(DataFormatString = "{0:g}", ApplyFormatInEditMode = true)] public DateTime LastSubmission { get; set; } [Display(Name = "报名时间")] [DataType(DataType.DateTime)] public DateTime RegisterTime { get; set; } } }