using APT.Infrastructure.Core;
using APT.Infrastructure.Utility;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace APT.BaseData.Domain.Entities
{
    /// <summary>
    /// 表单查询配置
    /// </summary>
    [Redis("PAGE_FORM_ID", "ID", "CODE")]
    [APT.Infrastructure.Api.RootOrg]
    [IgnoreT4]
    public class T_PF_FORM_QUERY : MesEntityBase
    {
        public T_PF_FORM_QUERY()
        {
            this.INPUT_FILTER_ORG_TYPE = 0;
        }

        /// <summary>编码</summary>
        public string CODE { get; set; }
        /// <summary>
        /// 显示名称
        /// </summary>
        public string LABEL { get; set; }

        /// <summary>
        /// 查询显示类型
        /// </summary>
        [EnumName("PFFormQueryShowTypeEnum")]
        public int FORM_QUERY_SHOW_TYPE { get; set; }

        [Description("表名")]
        public string TABLE_NAME { get; set; }

        /// <summary>
        /// 窗体ID
        /// </summary>
        public Guid? PAGE_FORM_ID { get; set; }
        /// <summary>
        /// 共享Key值，用于不同页面间的查询条件共享
        /// </summary>
        public string SHARE_KEY { get; set; }
        /// <summary>
        /// 是否记忆查询条件
        /// </summary>
        public bool IS_REMEMBER { get; set; }
        /// <summary>
        /// 索引
        /// </summary>
        public int NUM { get; set; }

        /// <summary>
        /// 过滤组织类型
        /// </summary>
        [EnumName("PFFilterOrgTypeEnum")]
        public int? INPUT_FILTER_ORG_TYPE { get; set; }


        /// <summary>
        /// 窗体
        /// </summary>
        public virtual T_PF_FORM Nav_PageForm { get; set; }


        public virtual ICollection<T_PF_QUERY> Nav_Querys { get; set; }
        [Description("源ID")]
        public Guid? SRC_ID { get; set; }
    }
}
