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_TRAINING_EFFECT_EVALUATION_SURVEY : MesEntityBase
    {
        /// <summary>
        /// 培训名称
        /// </summary>
        [Description("培训名称")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public string NAME { get; set; }
        /// <summary>
        /// 调查截止时间
        /// </summary>
        [Description("调查截止时间")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        public DateTime? END_TIME { get; set; }
        /// <summary>
        /// 参与人员
        /// </summary>
        [Description("参与人员")]
        [FormFieldTable]
        [FormFieldQuery]
        [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(500)]
        public string OPINION { get; set; }
        /// <summary>
        /// 培训通知ID
        /// </summary>
        [Description("培训通知")]
        public Guid? NOTIFY_ID { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        [Description("状态")]
        [EnumName("SETrainningEffectSurveyStatus")]
        [FormFieldTable]
        [FormFieldQuery]
        public SETrainningEffectSurveyStatus STATUS { get; set; }
        /// <summary>
        /// 导航: 培训效果评估调查表结果表
        /// </summary>
        [Description("导航: 培训效果评估调查表结果表")]
        [FormFieldEdit]
        public ICollection<T_SE_TRAINING_EFFECT_EVALUATION_SURVEY_RESULTS> Nav_ResultList { get; set; }
        [Description("是否发布")]
        [DataFieldIngore]
        public string PUBLISH { get; set; }
        [DataFieldIngore]
        public int IS_OVERTIME { get; set; }
    }
}
