using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace APT.MS.Domain.Entities.SE
{
    /// <summary>
    /// 换证培训触发
    /// </summary>
    [Description("换证培训触发")]
    public class T_SE_RENEWAL_TRAIN : MesEntityBase
    {
        /// <summary>
        /// 编号
        /// </summary>
        [Description("编号")]
        [DataFieldLength(100)]
        [FormFieldTable]
        [FormFieldQuery]
        public string CODE { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        [Description("姓名")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldForeignKey("Nav_User")]
        public Guid USER_ID { get; set; }
        /// <summary>
        /// 导航_姓名
        /// </summary>
        [Description("导航_姓名")]
        public T_FM_USER Nav_User { get; set; }

        /// <summary>
        /// 证书类别
        /// </summary>
        [Description("证书类别")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldForeignKey("Nav_CertificateType")]
        public Guid CERTIFICATE_TYPE_ID { get; set; }
        /// <summary>
        /// 导航_证书类别
        /// </summary>
        [Description("导航_证书类别")]
        public T_SE_CERTIFICATE_TYPE Nav_CertificateType { get; set; }
        /// <summary>
        /// 证书名称
        /// </summary>
        [Description("证书名称")]
        [DataFieldLength(200)]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string CERTIFICATE_NAME { get; set; }
        /// <summary>
        /// 证书编号
        /// </summary>
        [Description("证书编号")]
        [DataFieldLength(100)]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string CERTIFICATE_CODE { get; set; }
        /// <summary>
        /// 发证机关
        /// </summary>
        [Description("发证机关")]
        [DataFieldLength(100)]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string CERTIFICATE_AUTHORITY { get; set; }

        /// <summary>
        /// 初领日期
        /// </summary>
        [Description("初领日期")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public DateTime ISSUE_DATE { get; set; }

        /// <summary>
        /// 有效期限始
        /// </summary>
        [Description("有效期限始")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public DateTime EXPIRY_START_DATE { get; set; }

        /// <summary>
        /// 有效期限限
        /// </summary>
        [Description("有效期限限")]
        [DataFieldIngore]
        public string EXPIRY_DATE_EDIT { get; set; }

        /// <summary>
        /// 到期日期
        /// </summary>
        [Description("到期日期")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public DateTime EXPIRY_DATE { get; set; }
        /// <summary>
        /// 复审日期
        /// </summary>
        [Description("复审日期")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public DateTime REVIEW_DATE { get; set; }
        /// <summary>
        /// 附件
        /// </summary>
        [Description("导航：附件表")]
        public List<T_SE_RENEWAL_TRAIN_FILE> Nav_Files { get; set; }
    }
}
