using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace YBEE.EQM.Core;
///
/// 抽样方案
///
[Comment("抽样方案")]
public partial class ExamSample : DEntityBase
{
///
/// 监测计划ID
///
[Comment("监测计划ID")]
[Required]
public int ExamPlanId { get; set; }
///
/// 序,同一监测从1开始计数
///
[Comment("序,同一监测从1开始计数")]
[Required]
public short Sequence { get; set; } = 1;
///
/// 名称
///
[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 = "smallint")]
public ExamSampleStatus Status { get; set; } = ExamSampleStatus.INITIAL;
///
/// 抽样配置
/// {
/// percent: 40,
/// onlyOneClassStudentMin: 40,
/// gradeNoSampleStudentMin: 20,
/// classStudentMin: 25,
/// startPosition: 1,
/// interval: 2,
/// isExcludeSpecialStudent: true,
/// isGradeSeatNumberRandom: true,
/// }
///
[Comment("抽样配置")]
[Required, Column(TypeName = "json")]
public string Config { get; set; } = "{}";
///
/// 成绩引用监测计划ID
///
[Comment("成绩引用监测计划ID")]
public int? ExamScoreRefExamPlanId { get; set; }
///
/// 是否选中使用的方案
///
[Comment("是否选中使用的方案")]
public bool IsSelected { get; set; } = false;
///
/// 选中使用时间
///
[Comment("选中使用时间")]
public DateTime? SelectedTime { get; set; }
///
/// 选中使用操作用户ID
///
[Comment("选中使用操作用户ID")]
public int? SelectedSysUserId { get; set; }
///
/// 一对一引用(监测信息)
///
public virtual ExamPlan ExamPlan { get; set; }
///
/// 一对一引用(选中使用操作用户)
///
public virtual SysUser SelectedSysUser { get; set; }
///
/// 一对一引用(成绩引用监测计划)
///
public virtual ExamPlan ExamScoreRefExamPlan { get; set; }
}