using APT.BaseData.Domain.Entities.FM;
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_THREE_LEVEL_SAFE_TRAIN_RECORD : MesEntityBase
    {
        /// <summary>
        /// 三级安全教育卡ID
        /// </summary>
        [Description("三级安全教育卡ID")]
        [DataFieldForeignKey("Nav_EDUCard","Nav_TrainRecordList")]
        public Guid EDU_CARD_ID { get; set; }
        /// <summary>
        /// 导航: 三级安全教育卡
        /// </summary>
        [Description("导航: 三级安全教育卡")]
        public T_SE_THREE_LEVEL_SAFE_EDU_CARD Nav_EDUCard { get; set; }
        /// <summary>
        /// 培训起止时间
        /// </summary>
        [Description("培训开始时间")]
        [FormFieldEdit]
        public DateTime? START_TIME { get; set; }
        /// <summary>
        /// 培训起止时间
        /// </summary>
        [Description("培训截止时间")]
        [FormFieldEdit]
        public DateTime? END_TIME { get; set; }
        /// <summary>
        /// 培训地点
        /// </summary>
        [Description("培训地点")]
        [FormFieldEdit]
        [DataFieldLength(100)]
        public string TAINNING_ADDR { get; set; }
        /// <summary>
        /// 组织部门
        /// </summary>
        [Description("组织部门")]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_Department")]
        public Guid? DEPARTMENT_ID { get; set; }
        /// <summary>
        /// 导航: 组织部门
        /// </summary>
        [Description("导航: 组织部门")]
        public T_FM_DEPARTMENT Nav_Department { get; set; }
        /// <summary>
        /// 记录/考核人
        /// </summary>
        [Description("记录/考核人")]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_User")]
        public Guid? USER_ID { get; set; }
        /// <summary>
        /// 导航: 记录/考核人
        /// </summary>
        [Description("导航: 记录/考核人")]
        public T_FM_USER Nav_User { get; set; }
        /// <summary>
        /// 培训时长
        /// </summary>
        [Description("培训时长")]
        [FormFieldEdit]
        [DataFieldLength(10)]
        public string? TRAINNING_TIME { get; set; }
        /// <summary>
        /// 培训老师
        /// </summary>
        [Description("培训老师")]
        [FormFieldEdit]
        [DataFieldLength(50)]
        public string TEACHER { get; set; }
        /// <summary>
        /// 考核结果
        /// </summary>
        [Description("考核结果")]
        [EnumName("SEExaminationResultsEnum")]
        [FormFieldEdit]
        public SEExaminationResultsEnum? EXAMINATION_RESULTS { get; set; }
        /// <summary>
        /// 培训形式
        /// </summary>
        [Description("培训形式")]
        [EnumName("TRAINMODELENUM")]
        [DataFieldLength(50)]
        [FormFieldEdit]
        public string TRAIN_MODEL { get; set; }
        /// <summary>
        /// 培训组织部门类型
        /// </summary>
        [Description("培训组织部门类型")]
        [FormFieldEdit]
        [EnumName("SEThreeLevelSafeTrainType")]
        public SEThreeLevelSafeTrainType THREE_LEVEL_SAFE_TRAIN_TYPE { get; set; }
        /// <summary>
        /// 培训内容ID
        /// </summary>
        [Description("培训内容")]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_Content")]
        public Guid CONTENT_ID { get; set; }
        /// <summary>
        /// 导航: 三级安全教育卡培训内容
        /// </summary>
        [Description("导航: 三级安全教育卡培训内容")]
        public T_SE_THREE_LEVEL_SAFE_CONTENT Nav_Content { get; set; }
        /// <summary>
        /// 导航属性：附件
        /// </summary>
        [Description("导航属性：附件")]
        public ICollection<T_SE_THREE_LEVEL_SAFE_TRAIN_RECORD_FILE> Nav_TrainRecordFile { get; set; }
        /// <summary>
        /// 导航属性：签名附件
        /// </summary>
        [Description("导航属性：签名附件")]
        public ICollection<T_SE_THREE_LEVEL_SAFE_TRAIN_RECORD_SIGNATURE_FILE> Nav_TrainSignatureFile { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        [Description("状态")]
        [EnumName("SEThreeLevelSafeTrainRecordStatus")]
        [FormFieldEdit]
        public SEThreeLevelSafeTrainRecordStatus STATUS { get; set; }
        /// <summary>
        /// 分数
        /// </summary>
        [Description("分数")]
        [FormFieldEdit]
        [DataFieldLength(10)]
        public string SCORE { get; set; }
        [Description("是否发布")]
        [DataFieldIngore]
        public string PUBLISH { get; set; }
    }
}
