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

namespace Hotline.Exams.Trains
{
    /// <summary>
    /// 培训习题
    /// </summary>
    [Description("培训习题")]
    public class ExamTrainPractice:ExamBusinessEntity
    {
        /// <summary>
        /// 培训模版Id
        /// </summary>
        [SugarColumn(ColumnDescription ="培训模版Id")]
        [Description("培训模版Id")]
        public string TrainTemplateId { 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(ExamTrainPracticeOptions.TrainPracticeId))]
        public List<ExamTrainPracticeOptions> TrainPracticeOptionses { get; set; }

        [Navigate(NavigateType.OneToMany, nameof(ExamTrainPracticeKnowladge.TrainPracticeId))]
        public List<ExamTrainPracticeKnowladge> TrainPracticeKnowladges { get; set; }

        [Navigate(NavigateType.OneToMany, nameof(ExamTrainPracticeSourceware.TrainPracticeId))]
        public List<ExamTrainPracticeSourceware> TrainPracticeSourcewares { get; set; }
    }
}
