using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums.PF;
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.OG
{
    /// <summary>
    /// 标准化系统评审意见表
    /// </summary>
    [Description("标准化系统评审意见表")]
    public class T_OG_STANDARDIZATION_SYSTEM_REVIEW : MesEntityBase
    {
        /// <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]
        public DateTime? REVIEW_TIME { get; set; }

        /// <summary>
        /// 评审主持人ID
        /// </summary>
        [Description("评审主持人")]
        [FormFieldTable]
        [FormFieldQuery]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_HostUser")]
        public Guid? HOST_ID { get; set; }

        /// <summary>
        /// 导航：评审主持人
        /// </summary>
        [Description("导航：评审主持人")]
        public T_FM_USER Nav_HostUser { get; set; }        
        /// <summary>
        /// 导航属性：评审项目
        /// </summary>
        [Description("导航属性：评审项目")]
        [FormFieldEdit]
        public ICollection<T_OG_STANDARDIZATION_REVIEW_ITEMS_REL> Nav_ReviewItemsList { get; set; }        
        /// <summary>
        /// 导航属性：评审人员
        /// </summary>
        [Description("导航属性：评审人员")]
        [FormFieldEdit]
        public ICollection<T_OG_STANDARDIZATION_PERSON_REL> Nav_ReviewUserList { get; set; }        
        /// <summary>
        /// 导航属性：评审结论
        /// </summary>
        [Description("导航属性：评审结论")]
        [FormFieldEdit]
        public ICollection<T_OG_STANDARDIZATION_REVIEW_RESULT_REL> Nav_ReviewResultList { get; set; }

        /// <summary>
        /// 导航属性：行动计划
        /// </summary>
        [Description("导航属性：行动计划")]
        [FormFieldEdit]
        public ICollection<T_OG_STANDARDIZATION_ACTION_PLAN_REL> Nav_ActionPlanList { get; set; }        
        /// <summary>
        /// 状态
        /// </summary>
        [Description("状态")]
        [EnumName("PFStandardStatus")]
        [FormFieldTable]
        [FormFieldQuery]
        public PFStandardStatus STATUS { get; set; }
        [Description("是否发布")]
        [DataFieldIngore]
        public string PUBLISH { get; set; }

        [DataFieldIngore]
        public int IS_OVERTIME { get; set; }
    }
}
