using Exam.Infrastructure.Data.Entity;
using Exam.Infrastructure.Data.Interface;
using Hotline.Share.Dtos.Trains;
using System.ComponentModel;

namespace Exam.Share
{
    /// <summary>
    /// 培训计划
    /// </summary>
    [Description("培训计划")]
    public class TrainPlanDto:UpdateTrainPlanDto
    {

        /// <summary>
        /// 培训模版
        /// </summary>
        [Description("培训模版")]
        public new List<TrainPlanTemplateDto> TrainPlanTemplateDtos { get; set; }

        /// <summary>
        /// 培训人员
        /// </summary>
        [Description("培训人员")]
        public new List<TrainRecordDto> TrainRecordDtos { get; set; }
    }

    /// <summary>
    /// 培训计划
    /// </summary>
    [Description("培训计划")]
    public class AddTrainPlanDto : IAddRequest
    {
        /// <summary>
        /// 培训编码
        /// </summary>
        [Description("培训编码")]
        public string Code { get; set; }

        /// <summary>
        /// 培训标题
        /// </summary>
        [Description("培训标题")]
        public string Name { get; set; }

        /// <summary>
        /// 培训模版
        /// </summary>
        [Description("培训模版")]
        public List<AddTrainPlanTemplateDto> TrainPlanTemplateDtos { get; set; }


        /// <summary>
        /// 培训开始时间
        /// </summary>
        [Description("培训开始时间")]
        public DateTime TrainStartTime { get; set; }

        /// <summary>
        /// 培训结束时间
        /// </summary>
        [Description("培训结束时间")]
        public DateTime TrainEndTime { get; set; }

        /// <summary>
        /// 培训人员
        /// </summary>
        [Description("培训人员")]
        public List<AddTrainRecordDto> TrainRecordDtos { get; set; }
    }

    /// <summary>
    /// 培训计划
    /// </summary>
    [Description("培训计划")]
    public class UpdateTrainPlanDto : AddTrainPlanDto,IActionRequest
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Description("主键")]
        public string Id { get; set; }

        /// <summary>
        /// 培训人员
        /// </summary>
        [Description("培训人员")]
        public new List<UpdateTrainRecordDto> TrainRecordDtos { get; set; }

        /// <summary>
        /// 培训模版
        /// </summary>
        [Description("培训模版")]
        public new List<UpdateTrainPlanTemplateDto> TrainPlanTemplateDtos { get; set; }
    }
}
