using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Net.Mail; using System.Text; using System.Threading.Tasks; namespace TEAMModelOS.SDK.Models { public class Activity : CosmosEntity { //id 活动id, //code Activity-hbcn/areaId public Activity() { pk="Activity"; } [Required(ErrorMessage = "Required")] public string name { get; set; } [Required(ErrorMessage = "Required")] public string subject { get; set; } public string description { get; set; } public string address { get; set; } [Range(1697622366000, 4102415999000, ErrorMessage = $"时间范围错误")] public long stime { get; set; } [Range(1697622366000, 4102415999000, ErrorMessage = $"时间范围错误")] public long etime { get; set; } public string poster { get; set; } public List attachment { get; set; } = new List(); public List zb { get; set; } = new List(); public List cb { get; set; } = new List(); /// /// "hbcn/区级id,areaId", /// [Required(ErrorMessage = "Required")] public string owner { get; set; } /// /// "所有者名称", /// [Required(ErrorMessage = "Required")] public string ownerName { get; set; } /// /// "public公开/area区级/school校级", public公开活动 只能是醍摩豆智慧学区才能选择, /// [Required(ErrorMessage = "Required")] public string scope { get; set; } /// /// "enroll/报名制,invite/邀请制", /// [Required(ErrorMessage = "Required")] public string joinMode { get; set; } /// /// //区级活动时允许参与的学校,如果为空则全部学校 /// public List invitedSchools { get; set; } = new List(); /// /// 确认的学校 /// public List confirmedSchools { get; set; } = new List(); /// /// //邀请制,允许参加的教师 /// public List inviteTeachers { get; set; } = new List(); /// /// 模块"Contest/赛课活动", "Training/线上培训", "Research/教研活动" /// [Required(ErrorMessage = "模块不能为空")] [MinLength(1, ErrorMessage = "模块不能为空")] public List modules { get; set; } = new List(); /// /// 本次活动的评审专家 /// public List experts { get; set; } = new List(); /// /// 所属年份 /// public int year { get; set; } /// /// 创建时间 /// public long createTime { get; set; } /// /// 创建者 /// public string creatorId { get; set; } /// /// 0未发布,1已发布,2.已结束 /// public int publish { get; set; } } public class ActivityWebsite : CosmosEntity { // id(区级id,校级id) //code:ActivityWebsite public ActivityWebsite() { code="ActivityWebsite"; pk="ActivityWebsite"; } /// /// (路由编码),公开的 teammodel ,区级(standard字段),校级(学校编码) /// [Required(ErrorMessage = "不能为空")] public string route { get; set; } /// /// "public公开/area区级/school校级", public公开活动 只能是醍摩豆智慧学区才能选择, /// [Required(ErrorMessage = "Required")] public string scope { get; set; } [Required(ErrorMessage = "name不能为空")] public string name { get; set; } = "教师专业化发展服务平台"; public string logo { get; set; } public List banners { get; set; } = new List(); } public class ActivityBanner { public string title { get; set; } public string subtitle { get; set; } public string url { get; set; } public string blob { get; set; } /// /// 添加时间 /// public long time { get; set; } /// /// 展示到期时间,-1永不过期 /// public long expire { get; set; } } public class ActivityTeacher { public string id { get; set; } public string name { get; set; } public string picture { get; set; } public string school { get; set; } public string schoolName { get; set; } /// /// 0 未确认,1已确认,用于区级发布, publish=1,joinMode=invite,学校可以去进行邀请某一些教师。 /// public int status { get; set; } } public class ActivityInvitedSchool { public string id { get; set; } public string name { get; set; } public string picture { get; set; } } public class ActivityConfirmedSchool: ActivityInvitedSchool { /// /// 0 未确认,1已确认,用于区级发布, publish=1,joinMode=invite,学校可以去进行邀请某一些教师。 /// public int status { get; set; } //public string areaId { get; set; } //public string areaName { get; set; } } /// /// //赛课模块的数据结构 /// public class Contest : CosmosEntity { //id 活动id, public Contest() { code = "Contest"; pk = "Contest"; } /// /// //参加活动获得积分。根据最后评委打分,0-100的比例获得积分,不足一分按一分计算。 /// public int balance { get; set; } = 0; /// /// "sign","upload","review","score"//报名模块,上传作品模块,评审模块,成绩公布模块 /// [Required(ErrorMessage = "优课评选子模块不能为空")] [MinLength(1, ErrorMessage = "优课评选子模块不能为空")] public List modules { get; set; } = new List(); public ContestSign sign { get; set; } public ContestUpload upload { get; set; } public ContestReview review { get; set; } public ContestScore score { get; set; } } public class ContestScore { public long stime { get; set; } public long etime { get; set; } } public class ContestReview { public long stime { get; set; } public long etime { get; set; } /// /// //default 默认,评审规则 /// public string ruleId { get; set; } public string ruleName { get; set; } } public class ReviewRule :CosmosEntity{ public ReviewRule() { pk="ReviewRule"; } /// /// code="ReviewRule-disposable"; 存为活动 code="ReviewRule-template"; 存为模板 /// //id 为活动的id ,以此用于来推断 模板评审规则或者活动评审规则的来源 [Required(ErrorMessage = "Required")] public string name { get; set; } /// /// "hbcn/区级id,areaId", /// [Required(ErrorMessage = "Required")] public string owner { get; set; } /// /// "public公开/area区级/school校级", public公开活动 只能是醍摩豆智慧学区才能选择, /// //[Required(ErrorMessage = "Required")] //public string scope { get; set; } /// /// template 模板,disposable 一次性的,如果存为模板,则需要再保存一份活动引用的 /// [Required(ErrorMessage = "Required")] public string type { get; set; } public List configs { get; set; } = new List(); /// /// 模板来源 name /// public string sourceName { get; set; } } public class RuleConfig { public string id { get; set; } public string pid { get; set; } public string label { get; set; } public double score { get; set; } public int order { get; set; } public List cids { get; set; } = new List(); } public class ReviewRuleTree { [Required(ErrorMessage = "Required")] public string name { get; set; } /// /// "hbcn/区级id,areaId", /// [Required(ErrorMessage = "Required")] public string owner { get; set; } /// /// 是否将规则更新或保存为模板 /// public int upsertAsTemplate { get; set; } = 0; public string sourceName { get; set; } public RuleConfigTree tree{ get; set; } } public class RuleConfigTree: RuleConfig { public List children { get; set; } = new List(); } public class ContestUpload { public long stime { get; set; } public long etime { get; set; } /// /// file sokrates /// public string type { get; set; } /// /// ["file"], 提交作品的格式 /// public List fileType { get; set; } = new List(); public string desc { get; set;} } public class ContestSign { /// /// "name", "phone", "period", "subject", "school", "contestType", "job" /// public List field { get; set; } = new List(); public long stime { get; set; } public long etime { get; set; } /// /// //报名人数限制 /// public int limit { get; set; } } /// /// 在线培训模块的数据结构 /// public class Training : CosmosEntity { //id 活动id, public Training() { code = "Training"; pk = "Training"; } /// /// //参加活动获得积分。根据最后评委打分,0-100的比例获得积分,不足一分按一分计算。 /// public int balance { get; set; } /// /// "online", "submit", "exam"模块 /// public List modules { get; set; } = new List(); public List abilities { get; set; }= new List(); public TrainingOnline online { get; set; } public TrainingSubmit submit { get; set; } public TrainingExam exam { get; set; } public long stime { get; set; } public long etime { get; set; } } public class TrainingOnline { /// /// //最少学习多少积分 /// public int least { get; set; } /// /// //至少修三个能力点 /// public int limit { get; set; } } public class TrainingSubmit { public int balance { get; set; } //单个认证合格获得的积分0-5 } public class TrainingExam { public int balance { get; set; } //单个认证合格获得的积分0-5 } /// /// 教研中心技能点 /// public class TrainingAbility { /// /// //学习完成获得积分,0-10 /// public int balance { get; set; } public string id { get; set; } /// ///新建字段 维度 对应 原来的 subjectId 学科 /// public string dimension { get; set; } /// /// 标号 A1 A2 A3.... /// public string no { get; set; } /// /// 册别name /// [Required(ErrorMessage = "{0} 必须填写")] public string name { get; set; } public List abilityTasks { get; set; } = new List(); public string desc { get; set; } public string sug { get; set; } public List stds { get; set; } = new List(); /// ///自测练习题试卷 blob地址 /// public string blob { get; set; } /// ///默认未设置0 必修1 通识2 选修3 /// public int currency { get; set; } } public class Research : CosmosEntity { //id 活动id, public Research() { code = "Research"; pk = "Research"; } /// /// "sign", //关联HiTeach课例的时候,可自动关联。 "homework", //作业 "examLite", //评测 "vote", //投票 "survey" //问卷, 此处几个活动的id是 赛课大活动的id /// public List modules { get; set; } = new List(); public long stime { get; set; } public long etime { get; set; } public ResearchSign sign { get; set; } public ResearchExamLite examLite { get; set; } public ResearchHomework homework { get; set; } public ResearchSurvey survey { get; set; } public ResearchVote vote { get; set; } } public class ResearchSign { /// /// //活动签到活得0-5 /// public int balance { get; set; } } public class ResearchHomework { public List type { get; set; } = new List(); /// /// //活动签到活得0-5 /// public int balance { get; set; } } public class ResearchExamLite { /// /// //完成评测练习,可获取0-5 /// public int balance { get; set; } } public class ResearchVote { /// /// //完成评测练习,可获取0-5 /// public int balance { get; set; } } public class ResearchSurvey { /// /// //完成评测练习,可获取0-5 /// public int balance { get; set; } } public class Expert { public string id { get; set; } public string name { get; set; } public string mobile { get; set; } public string picture { get; set; } /// /// 职称 /// public string title { get; set; } public List subjects { get; set; } = new List(); /// /// 评审专家可以对哪些模块进行评审 /// public List modules { get; set; } = new List(); } public class ExpertSubject { /// /// 科目 /// public string subject { get; set; } /// /// 学段 /// public string period { get; set; } } }