using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace APT.MS.Domain.Entities.SE
{
    /// <summary>
    /// 部门培训计划详情
    /// </summary>
    [Description("部门培训计划详情")]
    public class T_SE_DEP_TRAIN_PLAN_DETAIL : MesEntityBase
    {
        /// <summary>
        /// 部门培训计划ID
        /// </summary>
        [Description("部门培训计划")]
        [DataFieldForeignKey("Nav_DepTrainPlan", "Nav_DepTrainPlanDetail")]
        public Guid DEP_TRAIN_PLAN_ID { get; set; }
        /// <summary>
        /// 导航: 部门培训计划
        /// </summary>
        [Description("导航: 部门培训计划")]
        public T_SE_DEP_TRAIN_PLAN Nav_DepTrainPlan { get; set; }

        /// <summary>
        ///  培训月份
        /// </summary>
        [Description("培训月份")]
        [FormFieldTable]
        [FormFieldEdit]
        public int MOON { get; set; }

        /// <summary>
        /// 培训类型ID
        /// </summary>
        [Description("培训类型")]
        [DataFieldForeignKey("Nav_TrainTypeEnum")]
        [FormFieldEdit]
        public Guid? TYPE_ID { get; set; }

        /// <summary>
        /// 导航: 培训类型
        /// </summary>
        [Description("导航: 培训类型")]
        public T_SE_TRAIN_TYPE_ENUM Nav_TrainTypeEnum { get; set; }

        /// <summary>
        /// 培训名称
        /// </summary>
        [Description("培训名称")]
        [FormFieldEdit]
        [DataFieldLength(300)]
        public string NAME { get; set; }

        /// <summary>
        /// 导航: 培训内容
        /// </summary>
        [Description("导航: 培训内容")]
        public ICollection<T_SE_DEP_TRAIN_PLAN_CONTENT> Nav_DepTrainPlanContent { get; set; }

        /// <summary>
        /// 培训级别
        /// </summary>
        [Description("培训级别")]
        [EnumName("FMDepartmentType")]
        [FormFieldEdit]
        public FMDepartmentType LEVEL { get; set; }

        /// <summary>
        /// 培训对象
        /// </summary>
        [Description("培训对象")]
        [FormFieldEdit]
        [DataFieldLength(200)]
        public string OBJECT { get; set; }

        /// <summary>
        /// 培训地点
        /// </summary>
        [Description("培训地点")]
        [FormFieldEdit]
        [DataFieldLength(100)]
        public string ADDRESS { get; set; }

        /// <summary>
        /// 培训形式
        /// </summary>
        [Description("培训形式")]
        [EnumName("TRAINMODELENUM")]
        [DataFieldLength(50)]
        [FormFieldEdit]
        public string TRAIN_MODEL { get; set; }

        /// <summary>
        /// 培训教材
        /// </summary>
        [Description("培训教材")]
        [FormFieldEdit]
        [DataFieldLength(300)]
        public string TEACHING_MATERIAL { get; set; }

        /// <summary>
        /// 培训老师
        /// </summary>
        [Description("培训老师")]
        [FormFieldEdit]
        [DataFieldLength(100)]
        public string TEACHER { get; set; }

        /// <summary>
        /// 考核方式ID
        /// </summary>
        [Description("考核方式")]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_TrainCheckTypeEnum")]
        public Guid? CHECK_TYPE_ID { get; set; }
        /// <summary>
        /// 导航: 考核方式
        /// </summary>
        [Description("导航: 考核方式")]
        public T_SE_TRAIN_CHECK_TYPE_ENUM Nav_TrainCheckTypeEnum { get; set; }
    }
}
