using System.Collections.Generic;
namespace TEAMModelOS.SDK.Models
{
///
/// 統測活動主體 CosmosDB
///
public class JointEvent : CosmosEntity
{
public string creatorId { get; set; }
public string name { get; set; }
public JointEventGeo geo { get; set; } = new JointEventGeo(); //可參加活動的國省市區限制
public List admin { get; set; } = new List(); //管理者
public List groups { get; set; } = new List(); //群組
public List schedule { get; set; } = new List(); //進程
public long createTime { get; set; }
public long startTime { get; set; }
public long endTime { get; set; }
public string progress { get; set; } //進程 "pending" "going" "finish"
public class JointEventGroup
{
public string id { get; set; }
public string name { get; set; }
public HashSet assistants { get; set; } = new HashSet(); //評審TMID列表
}
public class JointEventPaper
{
public string code { get; set; }
public string id { get; set; }
public string blob { get; set; }
public string name { get; set; }
}
public class JointEventGeo
{
public string countryId { get; set; }
public string provinceId { get; set; }
public string cityId { get; set; }
public string distId { get; set; }
}
public class JointEventSchedule
{
public string type { get; set; } //"exam":評量 "join":報名
public string examType { get; set; } //評量類型 "regular":一般競賽 "custom":挑戰賽
public bool examOverwrite { get; set; } //評量可否重複作答 true:可 false:不可
public string id { get; set; }
public string name { get; set; }
public long startTime { get; set; }
public long endTime { get; set; }
public string progress { get; set; } //進程 "pending" "going" "finish"
}
}
///
/// 統測活動老師個人課程 基底class
///
public class JointEventGroupBase
{
public string scope { get; set; } //school:學校(選課班) private:個人
public string creatorId { get; set; }
public string creatorName { get; set; }
public string schoolId { get; set; } //老師個人課程時為null
public string periodId { get; set; } //老師個人課程時為null
public List courseLists { get; set; } = new();
public class JointEventGroupCourse
{
public string subjectId { get; set; } //老師個人課程時為null
public string courseId { get; set; }
public string courseName { get; set; }
public List groupLists { get; set; } = new();
}
public class JointEventGroupCourseGroup
{
public string id { get; set; }
public string name { get; set; }
}
}
///
/// 統測活動老師課程 CosmosDB ※id = jointEventId + TMID 老師報名後記入這裡
///
public class JointEventGroupDb : JointEventGroupBase
{
public string jointEventId { get; set; }
public string jointGroupId { get; set; }
public string id { get; set; }
public string code { get; set; }
public string pk { get; set; }
public int? ttl { get; set; } = -1;
public long? _ts { get; set; } = -1;
}
///
/// 統測活動學校課程 基底class
///
public class JointEventClassBase
{
public string schoolId { get; set; }
public string schoolName { get; set; }
public List classLists { get; set; } = new();
public class JointEventClassSchoolClass
{
public string subjectId { get; set; } //為了生成評量,只好請班級多帶科目ID
public string classId { get; set; }
public string className { get; set; }
}
}
///
/// 統測活動老師課程 CosmosDB ※id = jointEventId + TMID 老師報名後記入這裡
///
public class JointEventClassDb : JointEventClassBase
{
public string jointEventId { get; set; }
public string jointGroupId { get; set; }
public string id { get; set; }
public string code { get; set; }
public string pk { get; set; }
public int? ttl { get; set; } = -1;
public long? _ts { get; set; } = -1;
}
///
/// 統測評量信息 CosmosDB
///
public class JointExam : CosmosEntity
{
public string jointEventId { get; set; }
public string jointScheduleId { get; set; }
public string jointGroupId { get; set; }
public string creatorId { get; set; }
public string name { get; set; }
public string examType { get; set; } //評量類型 "regular":一般競賽 "custom":挑戰賽
public bool examOverwrite { get; set; } //評量可否重複作答 true:可 false:不可
public List classes { get; set; } = new();
public List stuLists { get; set; } = new();
public List papers { get; set; } = new();
public string progress { get; set; }
public long createTime { get; set; }
public long updateTime { get; set; }
public long startTime { get; set; }
public long endTime { get; set; }
public string source { get; set; } //评测类型 0:'線上自主評量', 1:'智慧教室評量', 2:'卷卡合一評量'
public string scope { get; set; }
}
}