using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
using APT.BaseData.Domain.Enums.PF;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace APT.MS.Domain.Entities.TL
{
    /// <summary>
    /// 待办文件 集合
    /// </summary>
    [Description("文件集合")]
    public class T_TL_FILE_SUM : MesEntityBase
    {
        /// <summary>
        /// 尾矿库名称 冗余
        /// </summary>
        [Description("尾矿库名称")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldLength(200)]
        public string NAME { get; set; }

        /// <summary>
        /// 尾矿库名称
        /// </summary>
        [Description("尾矿库名称")]
        [DataFieldForeignKey("Nav_Tailing")]
        public Guid? TAILING_ID { get; set; }

        /// <summary>
        /// 尾矿库
        /// </summary>
        [Description("尾矿库")]
        [FormFieldEdit]
        public T_TL_TAILING Nav_Tailing { get; set; }

        /// <summary>
        /// 消息内容
        /// </summary>
        [Description("消息内容")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldLength(300)]
        public string CONTENT { get; set; }

        /// <summary>
        /// 部门
        /// </summary>
        [Description("部门")]
        [DataFieldForeignKey("Nav_Department")]
        public Guid? DEPARTMENT_ID { get; set; }

        /// <summary>
        /// 部门
        /// </summary>
        [Description("部门")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public T_FM_DEPARTMENT Nav_Department { get; set; }

        /// <summary>
        /// 提交人
        /// </summary>
        [Description("提交人")]
        [DataFieldForeignKey("Nav_User")]
        public Guid USER_ID { get; set; }

        /// <summary>
        /// 提交人
        /// </summary>
        [Description("提交人")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public T_FM_USER Nav_User { get; set; }

        /// <summary>
        /// 文件类型
        /// </summary>
        [Description("文件类型")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public FILETYPE FILETYPE { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [Description("状态")]
        [FormFieldQuery]
        public PFStandardStatus STATUS { get; set; }

        /// <summary>
        /// 待办计划ID
        /// </summary>
        [Description("待办计划ID")]
        public Guid? TASK_PLAN_ID { get; set; }

        /// <summary>
        /// 导航属性：附件
        /// </summary>
        [Description("导航属性：附件")]
        [FormFieldEdit]
        public ICollection<T_TL_FILE_SUM_FILE> Nav_Files { get; set; }
    }
}