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

namespace APT.MS.Domain.Entities.WB
{
    /// <summary>
    /// 培训记录人员
    /// </summary>
    [Description("培训记录人员")]
    public class T_WB_OUTSOURCE_TRAIN_RECORD_USERS : MesEntityBase
    {
        /// <summary>
        /// 培训记录
        /// </summary>
        [Description("培训记录")]
        [DataFieldForeignKey("Nav_Parent", "Nav_Users")]
        public Guid PARENT_ID { get; set; }
        /// <summary>
        /// 导航: 培训记录
        /// </summary>
        [Description("导航: 培训记录")]
        public T_WB_OUTSOURCE_TRAIN_RECORD Nav_Parent { 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]
        public int? SCORE { get; set; }
        /// <summary>
        /// 考核结果
        /// </summary>
        [Description("考核结果")]
        [EnumName("SEExaminationResultsEnum")]
        [FormFieldEdit]
        public SEExaminationResultsEnum? EXAMINATION_RESULTS { get; set; }
        /// <summary>
        /// 附件
        /// </summary>
        [Description("附件")]
        public ICollection<T_WB_OUTSOURCE_TRAIN_RECORD_USERS_FILES> Nav_Files { get; set; }


        /// <summary>
        ///  试题
        /// </summary>
        [Description("试题")]
        public ICollection<T_WB_OUTSOURCE_TRAIN_RECORD_PAPER> Nav_ListUserPaper { get; set; }


        [Description("处理状态")]
        [EnumName("ExamStatusEnum")]
        public ExamStatusEnum DEAL_STATUS { get; set; }
        [Description("签名状态")]
        [EnumName("FOUserShiftStatusEnum")]
        public FOUserShiftStatusEnum SIGN_STATUS { get; set; }
    }
}
