using APT.BaseData.Domain.Entities.BD;
using APT.Infrastructure.Core;
using APT.Infrastructure.Utility;
using System;
using System.ComponentModel;
namespace APT.BaseData.Domain.Entities
{
	/// <summary>菜单</summary> 
    [Redis("NUM","ID")]
    [Description("菜单表")]
    [IgnoreT4] public partial class T_PF_MENU : TreeEntityBase<T_PF_MENU>
    {
        /// <summary>
        /// 名称
        /// </summary> 
        [AcronymField("NAME_ACRONYM")]
        public string NAME { get; set; }


        /// <summary>
        /// 名称首字母缩写
        /// </summary>
        [Description("名称首字母缩写")]
        public string NAME_ACRONYM { get; set; }
        /// <summary>
        /// 菜单表单参数
        /// </summary>
        [Description("菜单参数")]
        public string MENU_FORM_PARAMS { get; set; }

		/// <summary>菜单表单ID</summary>
		public Guid? MENU_FORM_ID { get; set; }

        [Description("图标")]
        /// <summary>
        /// 图标
        /// </summary>
        public string ICON { get; set; }

        [Description("图片")]
        /// <summary>
        /// 图片
        /// </summary>
        public Guid? PICTURE_ID { get; set; }

        [Description("顺序")]
        /// <summary>
        /// 顺序
        /// </summary>
        public int NUM { get; set; }

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

		[Description("备注")]
		public string REMARK { get; set; }

        [Description("导航：表单")]
        /// <summary>菜单表单</summary>
        public virtual T_PF_FORM Nav_MenuForm { get; set; }

        [Description("导航：图片表")]
        /// <summary>菜单表单</summary>
        public virtual T_BD_PICTURE Nav_Picture { get; set; }

        [Description("是否首页展示")]
        public bool IS_INIT_SHOW { get; set; }
        
        [Description("是否必须")]
        public bool IS_INIT_REQ { get; set; }

        [Description("源ID")]       
        public Guid? SRC_ID { get; set; }

        [Description("是否有权限")]
        public bool IS_PERMISSION_MENU { get; set; }


        [Description("平台类别")]
        [FormFieldTable]
        [FormFieldEdit]
        [EnumName("PFPlatformTypeEnum")]

        public int PLATFORM_CATEGORY { get; set; }

        [Description("子企业是否有权限")]
        [FormFieldTable]
        [FormFieldEdit]
        [EnumName("FMSubPermEnum")]
        public int IS_PERMISSION_SUB { get; set; }

        [Description("是否常用菜单")]
        public bool IS_RESIDENT { get; set; }

        [Description("是否移动端菜单")]
        public bool IS_MOBILE_MENU { get; set; }

        /// <summary>
        /// 生产单元类型
        /// </summary>
        [Description("生产单元类型")]
        [EnumName("FMProductionUnit")]
        public string MineType { get; set; }
    }
}
