using APT.BaseData.Domain.Entities.OP;
using APT.Infrastructure.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.BaseData.Domain.Entities
{
    [Description("数据通道")]
    public partial class T_PF_DATA_CHANNEL : MesEntityBase
    {
        public T_PF_DATA_CHANNEL()
        {
            LIFE_TIME = 60;//默认60分钟
        }
        [CUnique]
        [DataFieldLength(30)]
        [Description("编码")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        /// <summary>编码</summary>
        public string CODE { get; set; }
        /// <summary>
        /// 显示名称
        /// </summary>
        /// [Description("编码")]
        [Description("名称")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldLength(30)]
        public string NAME { get; set; }

        [Description("AppId")]
        [FormFieldTable]
        [FormFieldEdit]
        [DataFieldLength(30)]
        public string APP_ID { get; set; }

        [DataFieldForeignKey("Nav_Tenant")]
        [Description("租户ID")]
        public Guid? TENANT_ID { get; set; }
        /// <summary>
        /// 表ID字段
        /// </summary>
        [Description("KEY")]
        [DataFieldLength(100)]
        [FormFieldTable]
        [FormFieldEdit]
        public string SECURITY_KEY { get; set; }

        [DataFieldForeignKey("Nav_DataFrequency")]
        [Description("采集频率ID")]
        public Guid DATA_FREQUENCY_ID { get; set; }

        /// <summary>
        /// 过期时间
        /// </summary>
        [Description("过期时间：秒")]
        [FormFieldTable]
        [FormFieldEdit]
        public int LIFE_TIME { get; set; }

        [Description("启用标志")]
        [EnumName("FMEnableStatusEnum")]
        public int ENABLE_STATUS { get; set; }


        [Description("导航：资源权限表")]
        public ICollection<T_PF_CLIENT_SCOPES> Nav_ClientScopes { get; set; }

        [Description("导航：采集频率表")]
        public T_PF_DATA_FREQUENCY Nav_DataFrequency { get; set; }

        [Description("导航：租户表")]
        public T_OP_TENANT Nav_Tenant { get; set; }
    }
}
