using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.OG;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace APT.MS.Domain.Entities.OG
{
    /// <summary>
    /// 相关方基本信息表
    /// </summary>
    [Description("相关方基本信息表")]
    public class T_OG_RELATED : MesEntityBase
    {
        /// <summary>
        /// 相关方名称
        /// </summary>
        [Description("相关方名称")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldLength(100)] 
        public string NAME { get; set; }

        /// <summary>
        /// 联系人
        /// </summary>
        [Description("联系人")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldLength(50)] 
        public string CONTACT { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        [Description("联系方式")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldLength(50)] 
        public string CONTACT_INFO { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        [Description("地址")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldLength(50)] 
        public string ADDRESS { get; set; }

        [Description("负责人签名")]
        [FormFieldEdit]
        public ICollection<T_OG_RELATED_FIRE_USER> Nav_FireUser { get; set; }
        [Description("安全生产管理人员")]
        [FormFieldEdit]
        [DataFieldLength(50)]
        public string SAFE_USER_NAME { get; set; }
        [Description("安全员电话号码")]
        [FormFieldEdit]
        [DataFieldLength(50)]
        public string SAFE_USER_PHONE { get; set; }
        [Description("安全员签名")]
        [FormFieldEdit]
        public ICollection<T_OG_RELATED_SAFE_USER> Nav_SafeUser { get; set; }
        /// <summary>
        /// 对口部门ID
        /// </summary>
        [Description("对口部门")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_Department")]
        public Guid? DEPARTMENT_ID { get; set; }

        /// <summary>
        /// 导航: 对口部门
        /// </summary>
        [Description("导航: 对口部门")]
        public T_FM_DEPARTMENT Nav_Department { get; set; }        
        /// <summary>
        /// 对接人ID
        /// </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("主要工作内容")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldLength(50)] 
        public string CONTENT { get; set; }        
        /// <summary>
        /// 重大风险
        /// </summary>
        [Description("重大风险")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldLength(50)] 
        public string RISK { get; set; }        
        /// <summary>
        /// 导航属性：合同/协议表
        /// </summary>
        [Description("导航属性：合同/协议表")]
        [FormFieldEdit]
        public ICollection<T_OG_RELATED_AGREEMENT> Nav_Agreements { get; set; }

        /// <summary>
        /// 导航属性：资质情况表
        /// </summary>
        [Description("导航属性：资质情况表")]
        [FormFieldEdit]
        public ICollection<T_OG_RELATED_QUALIFICATION> Nav_Qualifications { get; set; }

        /// <summary>
        /// 导航属性：人员信息表
        /// </summary>
        [Description("导航属性：人员信息表")]
        [FormFieldEdit]
        public ICollection<T_OG_RELATED_USER> Nav_Users { get; set; }

    }
}

