using APT.BaseData.Domain.Entities.FM;
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_TRAIN_RECORD_USER : MesEntityBase
    {
        /// <summary>
        /// 培训记录
        /// </summary>
        [Description("培训记录")]
        [DataFieldForeignKey("Nav_Record","Nav_Users")]
        public Guid RECORD_ID { get; set; }
        /// <summary>
        /// 导航: 培训记录
        /// </summary>
        [Description("导航: 培训记录")]
        public T_SE_TRAIN_RECORD Nav_Record { get; set; }
        /// <summary>
        /// 人员ID
        /// </summary>
        [Description("人员")]
        [FormFieldTable]
        [DataFieldForeignKey("Nav_User")]
        public Guid USER_ID { get; set; }
        /// <summary>
        /// 导航: 人员
        /// </summary>
        [Description("导航: 人员")]
        public T_FM_USER Nav_User { get; set; }
        /// <summary>
        /// 是否签到
        /// </summary>
        [Description("是否签到")]
        public bool OK { get; set; }
        /// <summary>
        /// 部门名称
        /// </summary>
        [Description("部门名称")]
        [DataFieldLength(50)]
        public string DEPARTMENT_NAME { get; set; }
        /// <summary>
        /// 岗位
        /// </summary>
        [Description("岗位")]
        [DataFieldLength(50)]
        public string POST_NAME { get; set; }

        /// <summary>
        /// 考核结果
        /// </summary>
        [Description("考核结果")]
        public SEExaminationResultsEnum? EXAMINATION_RESULTS { get; set; }

        /// <summary>
        /// 分数
        /// </summary>
        [Description("分数")]
        public int? SCORE { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [Description("培训状态")]
        [FormFieldTable]
        [EnumName("SETrainRecordUserStatusEnum")]
        public SETrainRecordUserStatusEnum STATUS { get; set; }

        /// <summary>
        ///考试次数
        /// </summary>
        [Description("考试次数")]
        [FormFieldTable]
        [FormFieldEdit]
        public int EXAMETIMES { get; set; } = 1;

        /// <summary>
        /// 启用标志
        /// </summary>
        [Description("启用标志")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [EnumName("FMEnableStatusEnum")]
        public FMEnableStatusEnum ENABLE_STATUS { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        [Description("附件")]
        public ICollection<T_SE_TRAIN_RECORD_USER_FILE> Nav_Files { get; set; }

        /// <summary>
        /// 签到时间
        /// </summary>
        [Description("签到时间")]
        public DateTime? DT_SIGN { get; set; }
    }
}
