using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 试卷小题输出参数
/// </summary>
public class ExamPaperQuestionMinorOutput : DEntityOutput
{
    /// <summary>
    /// 双向细目表头ID
    /// </summary>
    [Required]
    public int ExamPaperId { get; set; }
    /// <summary>
    /// 题型类别
    /// </summary>
    public QuestionCatalog? QuestionCatalog { get; set; }
    /// <summary>
    /// 大题ID
    /// </summary>
    public int? ExamPaperQuestionMajorId { get; set; }
    /// <summary>
    /// 顺序
    /// </summary>
    [Required]
    public int Sequence { get; set; }
    /// <summary>
    /// 成绩文件列名
    /// </summary>
    [Required]
    public string ColumnName { get; set; }
    /// <summary>
    /// 小题
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 分值
    /// </summary>
    [Required]
    public decimal Score { get; set; }
    /// <summary>
    /// 知识模块
    /// </summary>
    public string KnowledgeModule { get; set; }
    /// <summary>
    /// 知识点
    /// </summary>
    public string KnowledgePoint { get; set; }
    /// <summary>
    /// 认知能力
    /// </summary>
    public CognitiveAbility? CognitiveAbility { get; set; }
    /// <summary>
    /// 预估难度
    /// </summary>
    public decimal EstimatedDifficulty { get; set; }
    /// <summary>
    /// 是否选做
    /// </summary>
    [Required]
    public bool IsChoose { get; set; }
    /// <summary>
    /// 是否最小计分项
    /// </summary>
    [Required]
    public bool IsLeaf { get; set; } = true;

    /// <summary>
    /// 试卷大题
    /// </summary>
    public ExamPaperQuestionMajorOutput ExamPaperQuestionMajor { get; set; }
}
