using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.OG;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace APT.MS.Domain.Entities.OG
{
    /// <summary>
    /// 合同/协议表
    /// </summary>
    [Description("合同/协议表")]
    public class T_OG_RELATED_AGREEMENT : MesEntityBase
    {
        /// <summary>
        /// 相关方基本信息表ID
        /// </summary>
        [Description("相关方基本信息表")]
        [DataFieldForeignKey("Nav_Related", "Nav_Agreements")]
        public Guid RELATED_ID { get; set; }

        /// <summary>
        /// 导航：相关方基本信息表
        /// </summary>
        [Description("导航：相关方基本信息表")]
        public T_OG_RELATED Nav_Related { get; set; }

        /// <summary>
        /// 甲方/乙方
        /// </summary>
        [Description("甲方/乙方")]
        [FormFieldEdit]
        [EnumName("OGAgreementName")]
        public OGAgreementName TYPE { get; set; }

        /// <summary>
        /// 合同编号
        /// </summary>
        [Description("合同编号")]
        [FormFieldEdit]
        public string CODE { get; set; }

        /// <summary>
        /// 合同时间
        /// </summary>
        [Description("合同名称")]
        [FormFieldEdit]
        public string NAME { get; set; }

        /// <summary>
        /// 合同时间
        /// </summary>
        [Description("合同开始时间")]
        [FormFieldEdit]
        public DateTime TIME { get; set; }

        /// <summary>
        /// 合同时间
        /// </summary>
        [Description("合同结束时间")]
        [FormFieldEdit]
        public DateTime? END_TIME { get; set; }

        /// <summary>
        /// 合同金额
        /// </summary>
        [Description("合同金额")]
        [FormFieldEdit]
        public string AMOUNT { get; set; }

        /// <summary>
        /// 合同状态
        /// </summary>
        [Description("合同状态")]
        [FormFieldEdit]
        [EnumName("OGAgreementStatus")]
        public OGAgreementStatus STATUS { get; set; }        
        /// <summary>
        /// 导航属性：合同附件
        /// </summary>
        [Description("导航属性：合同附件")]
        public ICollection<T_OG_RELATED_AGREEMENT_FILE> Nav_Files { get; set; }
    }
}
