using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace YBEE.EQM.Core;

/// <summary>
/// 双向细目表体
/// </summary>
[Comment("双向细目表体")]
public class ExamPaperDetail : DEntityBase
{
    /// <summary>
    /// 双向细目表头ID
    /// </summary>
    [Comment("双向细目表头ID")]
    [Required]
    public int ExamPaperId { get; set; }
    /// <summary>
    /// 双向细目表头ID
    /// </summary>
    [Comment("双向细目表头ID")]
    [Required, StringLength(50)]
    public string LargeQuestionNumber { get; set; }
    /// <summary>
    /// 双向细目表头ID
    /// </summary>
    [Comment("双向细目表头ID")]
    [StringLength(50)]
    public string SubQuestionNumber { get; set; }
    /// <summary>
    /// 双向细目表头ID
    /// </summary>
    [Comment("双向细目表头ID")]
    [Required, Column(TypeName = "decimal(10, 2)")]
    public decimal Score { get; set; } = 0;
    /// <summary>
    /// 知识模块
    /// </summary>
    [Comment("知识模块")]
    [Required, StringLength(200)]
    public string KnowledgeModule { get; set; }
    /// <summary>
    /// 知识点
    /// </summary>
    [Comment("知识点")]
    [Required, StringLength(200)]
    public string KnowledgePoint { get; set; }
    /// <summary>
    /// 认知能力
    /// </summary>
    [Comment("认知能力")]
    [Required, StringLength(200)]
    public string CognitiveAbility { get; set; }
    /// <summary>
    /// 预估难度
    /// </summary>
    [Comment("预估难度")]
    [Required, Column(TypeName = "decimal(10, 2)")]
    public decimal EstimatedDifficulty { get; set; } = 0;
    /// <summary>
    /// 是否选做
    /// </summary>
    [Comment("是否选做")]
    [Required]
    public bool IsChoose { get; set; } = false;
}
