using System.ComponentModel;
using Hotline.Exams.Base;
using Hotline.Share.Enums.Exams;
using SqlSugar;

namespace Hotline.Exams.TestPapers
{
    /// <summary>
    /// 人工组卷试题
    /// </summary>
    [Description("人工组卷试题")]
    public class ExamTestPaperItem:ExamBusinessEntity
    {
        /// <summary>
        /// 试题Id
        /// </summary>
        [SugarColumn(ColumnDescription ="试题Id")]
        [Description("试题Id")]
        public string QuestionId { get; set; }

        /// <summary>
        /// 题干
        /// </summary>
        [SugarColumn(ColumnDescription = "题干")]
        [Description("题干")]
        public string Title { get; set; }

        /// <summary>
        /// 题型
        /// </summary>
        [SugarColumn(ColumnDescription = "题型")]
        [Description("题型")]
        public EQuestionType QuestionType { get; set; }

        /// <summary>
        /// 难易程度
        /// </summary>
        [SugarColumn(ColumnDescription = "难易程度")]
        [Description("难易程度")]

        public EDifficultyLevel DifficultyLevel { get; set; }

        /// <summary>
        /// 试卷Id
        /// </summary>
        [SugarColumn(ColumnDescription = "试卷Id")]
        [Description("试卷Id")]
        public string TestPaperId { get; set; }

        [Navigate(NavigateType.OneToMany,nameof(ExamTestPaperItemAnswer.TestPaperItemId))]
        public List<ExamTestPaperItemAnswer> TestPaperItemAnswers { get; set; }

        [Navigate(NavigateType.OneToMany,nameof(ExamTestPaperItemOptions.TestPaperItemId))]
        public List<ExamTestPaperItemOptions> TestPaperItemOptionses { get; set; }

        [Navigate(NavigateType.OneToMany,nameof(ExamTestPaperItemKnowladge.TestPaperItemId))]
        public List<ExamTestPaperItemKnowladge> TestPaperItemKnowlagdes { get; set; }

        [Navigate(NavigateType.OneToMany, nameof(ExamTestPaperItemSourceware.TestPaperItemId))]
        public List<ExamTestPaperItemSourceware> TestPaperItemSourcewares { get; set; }
    }
}
