using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using TEAMModelOS.SDK.Context.Attributes.Azure;
using TEAMModelOS.Service.Models.Core;
using TEAMModelOS.Service.Models.Syllabus;
namespace TEAMModelOS.Service.Models.Courses
{
///
/// 课程
///
[CosmosDB(RU = 400, Name = "Course")]
public class Course
{
///
/// 学校编码 如果是教师私人知识点 则为 personal(写死) 否则为学校编码
///
[Required(ErrorMessage = "{0} 必须填写")]
[PartitionKey]
public string partitionKey { get; set; }
[Required(ErrorMessage = "{0} 必须填写")]
public string id { get; set; }
[Required(ErrorMessage = "{0} 必须填写")]
public string TEAMModelId { get; set; }
public string schoolCode { get; set; }
public BaseInfo baseInfo { get; set; }
///
/// personal:私有 school:校本
///
[Required(ErrorMessage = "{0} 必须填写")]
public string scope { get; set; }
///
/// 协同教师
///
public List assistTeacher { get; set; }
///
/// 上课时间表
///
public List courseTime { get; set; }
///
/// 课程“教室” Classroom
///
public List classroom { get; set; }
///
/// 关联课纲 SyllabusNode
///
public List syllabus { get; set; }
}
///
/// 基础信息
///
public class BaseInfo
{
[Required(ErrorMessage = "{0} 必须填写")]
public string courseCode { get; set; }//'T968475'
[Required(ErrorMessage = "{0} 必须填写")]
public string courseName { get; set; }// '一次函数极其图像'
[Required(ErrorMessage = "{0} 必须填写")]
public string periodCode { get; set; }
[Required(ErrorMessage = "{0} 必须填写")]
public string gradeCode { get; set; }
[Required(ErrorMessage = "{0} 必须填写")]
public string subjectCode { get; set; }
[Required(ErrorMessage = "{0} 必须填写")]
public string notice { get; set; }//课程公告
}
///
/// 上课时间表
///
public class CourseTime
{
///
/// 上课频率 每日、每周、每月、临时课程
///
public string frequencyCode { get; set; }
///
/// 课程开始时间
///
public string beginTime { get; set; }
///
/// 课程结束时间
///
public string endTime { get; set; }
///
/// 上课班级/教室
///
public string classroomCode { get; set; } // Classroom
///
/// 临时课程
///
public string frequencyName { get; set; }
///
/// 每月课程
///
//public string month { get; set; }
///
/// 每周课程
///
//public string weekly { get; set; }
}
}