using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.OG
{
    /// <summary>
    /// 机构表
    /// </summary>
    [Description("机构表")]
    [DataRecord(DataDirection.Push)]
    public partial class T_OG_AGENCY : TreeEntityBase<T_OG_AGENCY>
    {
        /// <summary>
        /// 编号
        /// </summary>
        [Description("编号")]
        [FormFieldEdit]
        [DataFieldLength(50)] 
        public string CODE { get; set; }        
        /// <summary>
        /// 部门名称
        /// </summary>
        [Description("名称")]
        [FormFieldEdit]
        [DataFieldLength(100)] 
        public string NAME { get; set; }

        /// <summary>
        /// 机构类型
        /// </summary>
        [Description("机构类型")]
        [FormFieldEdit]
        [EnumName("FMDepartmentType")]
        public FMDepartmentType LEVEL { get; set; }

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

        /// <summary>
        /// 部门负责人
        /// </summary>
        [Description("机构负责人")]
        [FormFieldEdit]
        [DataFieldForeignKey("Nav_User")]
        public Guid? USER_ID { get; set; }

        /// <summary>
        /// 部门负责人
        /// </summary>
        [Description("导航：机构负责人")]
        public T_FM_USER Nav_User { get; set; }        

        /// <summary>
        /// 导航：机构人员
        /// </summary>
        [Description("导航：机构人员")]
        [FormFieldEdit]
        public ICollection<T_OG_AGENCY_USER> Nav_Users { get; set; }
    }
}
