using Exam.Infrastructure.Data.Entity;
using Exam.Infrastructure.Data.Interface;
using System.ComponentModel;

namespace Hotline.Share.Dtos.Trains
{
    /// <summary>
    /// 培训模版
    /// </summary>
    [Description("培训模版")]
    public class TrainTemplateDto:UpdateTrainTemplateDto
    {
        /// <summary>
        /// 培训资料
        /// </summary>
        [Description("培训资料")]
        public new List<TrainKnowladgeDto> TrainKnowladges { get; set; }

        /// <summary>
        /// 培训习题
        /// </summary>
        [Description("培训习题")]
        public new List<TrainPracticeDto> TrainPracticeDtos { get; set; }
    }

    /// <summary>
    /// 培训模版
    /// </summary>
    [Description("培训模版")]
    public class UpdateTrainTemplateDto : AddTrainTemplateDto,IActionRequest
    {
        [Description("组件")]
        public string Id { get; set; }

        /// <summary>
        /// 培训资料
        /// </summary>
        [Description("培训资料")]
        public new List<UpdateTrainKnowladgeDto> TrainKnowladges { get; set; }

        /// <summary>
        /// 培训习题
        /// </summary>
        [Description("培训习题")]
        public new List<UpdateTrainPracticeDto> TrainPracticeDtos { get; set; }
    }

    /// <summary>
    /// 培训模版
    /// </summary>
    [Description("培训模版")]
    public class AddTrainTemplateDto:IAddRequest
    {
        /// <summary>
        /// 模版标题
        /// </summary>
        [Description("模版标题")]
        public string Name { get; set; }

        /// <summary>
        /// 模版编码
        /// </summary>
        [Description("模版编码")]
        public string Code { get; set; }

        /// <summary>
        /// 是否包含习题
        /// </summary>
        [Description("是否包含习题")]
        public bool IsContainsPractice { get; set; }


        /// <summary>
        /// 培训资料
        /// </summary>
        [Description("培训资料")]
        public List<AddTrainKnowladgeDto> TrainKnowladges { get; set; }

        /// <summary>
        /// 培训习题
        /// </summary>
        [Description("培训习题")]
        public List<AddTrainPracticeDto> TrainPracticeDtos { get; set; }
    }
}
