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

namespace Hotline.Exams.ExamManages
{
    /// <summary>
    /// 考试题目
    /// </summary>
    [Description("考试题目")]
    public class ExamQuestionBak : ExamBusinessEntity
    {
        /// <summary>
        /// 练习Id
        /// </summary>
        [SugarColumn(ColumnDescription ="考试Id")]
        [Description("考试Id")]
        public string ExamId { get; set; }

        /// <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; }


        [Navigate(NavigateType.OneToMany, nameof(ExamQuestionOptionsBak.ExamQuestionId))]
        public List<ExamQuestionOptionsBak> ExamQuestionOptionses { get; set; }

        [Navigate(NavigateType.OneToMany,nameof(ExamQuestionSourcewareBak.ExamQuestionId))]
        public List<ExamQuestionSourcewareBak> ExamQuestionSourcewares { get; set; }

        [Navigate(NavigateType.OneToMany,nameof(ExamQuestionKnowladgeBak.ExamQuestionId))]
        public List<ExamQuestionKnowladgeBak> ExamQuestionKnowladges { get; set; }

        [Navigate(NavigateType.OneToMany, nameof(ExamQuestionKnowladgeBak.ExamQuestionId))]
        public List<ExamQuestionAnswerBak> ExamQuestionAnswers { get; set; }
    }
}
