using Furion.JsonSerialization;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace YBEE.EQM.Core;
///
/// 高中分析计划
///
public class NceePlan : DEntityBase
{
///
/// 序,同一学期同年级从1开始计数
///
[Comment("序,同一学期同年级从1开始计数")]
[Required]
public short Sequence { get; set; } = 1;
///
/// 学期ID
///
[Comment("学期ID")]
[Required]
public short SemesterId { get; set; }
///
/// 年级ID
///
[Comment("年级ID")]
[Required]
public short GradeId { get; set; }
///
/// 名称
///
[Comment("名称")]
[Required, StringLength(100)]
public string Name { get; set; }
///
/// 全称
///
[Comment("全称")]
[Required, StringLength(200)]
public string FullName { get; set; }
///
/// 简称
///
[Comment("简称")]
[Required, StringLength(50)]
public string ShortName { get; set; }
///
/// 备注
///
[Comment("备注")]
[StringLength(200)]
public string Remark { get; set; } = "";
///
/// 配置
///
[Comment("配置")]
[Required, Column(TypeName = "json")]
public string Config { get; set; } = JSON.Serialize(new NceePlanConfig());
///
/// 状态
///
[Comment("状态")]
[Required]
public ExamStatus Status { get; set; } = ExamStatus.READY;
///
/// 开始时间
///
[Comment("开始时间")]
public DateTime? BeginTime { get; set; }
///
/// 结束时间
///
[Comment("结束时间")]
public DateTime? EndTime { get; set; }
///
/// 一对一引用(学期)
///
public virtual Semester Semester { get; set; }
///
/// 一对一引用(年级)
///
public virtual Grade Grade { get; set; }
///
/// 一对多引用(划线参考)
///
public ICollection NceePlans { get; } = new List();
}