using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.Infrastructure.Utility;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace APT.BaseData.Domain.Entities.BD
{
    [Description("图片资源")]
    [Redis("ID")]
    [DataClassIndex(new string[] { "CODE", "ORG_ID" }, true)]
    public partial class T_BD_PICTURE : MesEntityBase
    {
        
        [DataFieldLength(30)]
        [Description("资源编码")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public string CODE { get; set; }

        [Description("资源名称")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldLength(30)]
        public string NAME { get; set; }
        [Description("文件类型")]
        [FormFieldTable]
        [FormFieldEdit]
        [EnumName("FMFileType")]
        public int DATA_TYPE { get; set; }

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

        [DataFieldForeignKey("Nav_EnumItem")]
        [Description("资源类型")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public Guid? ENUM_ITEM_ID { get; set; }

        [DataFieldForeignKey("Nav_Enum")]
        [Description("资源类型")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public Guid? ENUM_ID { get; set; }

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

        [Description("导航：资源类型")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public virtual T_FM_ENUM_ITEM Nav_EnumItem { get; set; }

        [Description("导航：枚举管理")]
        public virtual T_FM_ENUM Nav_Enum { get; set; }

        [Description("导航：图片文件")]
        public virtual ICollection<T_BD_PICTURE_FILE> Nav_PictureFiles { get; set; }
        [Description("源ID")]
        public Guid? SRC_ID { get; set; }
    }
}
