using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Entities.FM;
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.SC
{
    [Description("会议纪要明细")]
    public class T_SC_MT_MEETING_MINUTES_DETAIL : MesEntityBase
    {
        /// <summary>
        /// 会议纪要表ID
        /// </summary>
        [Description("会议纪要表")]
        [DataFieldForeignKey("Nav_MeetingMinutes", "Nav_ListMinutesDetail")]
        public Guid MEETING_MINUTES_ID { get; set; }

        /// <summary>
        /// 会议纪要表
        /// </summary>
        [Description("导航：会议纪要表")]
        public virtual T_SC_MT_MEETING_MINUTES Nav_MeetingMinutes { get; set; }

        /// <summary>
        /// 会议纪要决议
        /// </summary>
        [DataFieldLength(500)]
        [FormFieldEdit]
        [Description("会议纪要决议")]
        public string RESOLUTION { get; set; }

        /// <summary>
        /// 是否需要落实
        /// </summary>
        [FormFieldEdit]
        [Description("是否需要落实")]
        public bool ISNEEDDEAL { get; set; }

        /// <summary>
        /// 落实部门ID
        /// </summary>
        [Description("落实部门")]
        [DataFieldForeignKey("Nav_DepartmentDeal")]
        [FormFieldEdit]
        public Guid? DEAL_DEPARTMENT_ID { get; set; }

        /// <summary>
        /// 落实部门
        /// </summary>
        [Description("导航:落实部门")]
        [FormFieldEdit]
        public virtual T_FM_DEPARTMENT Nav_DepartmentDeal { get; set; }

        /// <summary>
        /// 落实责任人
        /// </summary> 
        [Description("落实责任人")]
        [DataFieldForeignKey("Nav_UserDeal")]
        [FormFieldEdit]
        public Guid? DEAL_USER_ID { get; set; }

        /// <summary>
        /// 落实责任人
        /// </summary>
        [Description("导航:落实责任人")]
        [FormFieldEdit]
        public virtual T_FM_USER Nav_UserDeal { get; set; }

        /// <summary>
        /// 责任人意见
        /// </summary>
        [DataFieldLength(500)]
        [FormFieldEdit]
        [Description("责任人意见")]
        public string OPINION { get; set; }

        /// <summary>
        /// 落实情况反馈
        /// </summary>
        [DataFieldLength(500)]
        [FormFieldEdit]
        [Description("落实情况反馈")]
        public string DEALBACK { get; set; }

        /// <summary>
        /// 落实效果
        /// </summary>
        [FormFieldEdit]
        [Description("落实效果")]
        public DEALEFFECT? DEALEFFECT { get; set; }
        /// <summary>
        /// 落实效果
        /// </summary>
        [DataFieldIngore]
        public string DEALEFFECTSHOW { get; set; }

        /// <summary>
        /// 会议纪要填写状态
        /// </summary>
        [Description("会议纪要填写状态")]
        [FormFieldEdit]
        public MINUTES_DETAIL_STATUS STATUS { get; set; }


        /// <summary>
        /// 导航：纪要落实明细附件
        /// </summary>
        [Description("导航：纪要落实明细附件")]
        public virtual ICollection<T_SC_MT_MEETING_MINUTES_DETAIL_FILE> Nav_Files { get; set; }

        /// <summary>
        /// 落实期限
        /// </summary>
        [Description("落实期限")]
        public DateTime? LIMITDATETIME { get; set; }
    }
}