169 lines
9.6 KiB
C#
169 lines
9.6 KiB
C#
using System.ComponentModel;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Xml.Serialization;
|
|
using YLErp.Modules.SuperviseReportModule.SAC.Common;
|
|
using static YLErp.DBModels.Consts.ConsReport;
|
|
|
|
namespace YLErp.Modules.SuperviseReportModule.SAC.Model
|
|
{
|
|
/// <summary>
|
|
/// 主协议关联产品
|
|
/// </summary>
|
|
[Table("A1002_MasterAgrmtProduct")]
|
|
public class MasterAgrmtProductModel : ReportBaseModel
|
|
{
|
|
/// <summary>
|
|
/// 主协议编号(双方约定)
|
|
/// <para>长度:100</para>
|
|
/// <para>必填:是</para>
|
|
/// <para>说明:双方约定</para>
|
|
/// </summary>
|
|
[CheckStringMaxLength(MaxLength = 100)]
|
|
[DefaultValue("")]
|
|
[SacDescription("MasterAgrmtNo", "主协议编号(双方约定)", "100", true, "双方约定;")]
|
|
public string MasterAgrmtNo { get; set; }
|
|
/// <summary>
|
|
/// 操作标识
|
|
/// <para>长度:1</para>
|
|
/// <para>必填:是</para>
|
|
/// <para>说明:<see cref="OptFlagsEnum"/></para>
|
|
/// </summary>
|
|
[XmlIgnore]
|
|
[SacDescription("OperationType", "操作标识", "1", true, "")]
|
|
public OptFlagsEnum OperationType { get; set; }
|
|
/// <summary>
|
|
/// 代签产品编号
|
|
/// <para>长度:32</para>
|
|
/// <para>必填:否</para>
|
|
/// <para>说明:校验规则:补正时必填</para>
|
|
/// </summary>
|
|
[CheckConditionStringValue(ConditionName = nameof(OperationType), ConditionValue = "A", CheckHandleNameArr = new[] { "B" })]
|
|
[CheckConditionStringNEQValue(ConditionName = nameof(OperationType), ConditionValue = "A", CheckHandleNameArr = new[] { "A" })]
|
|
[CheckStringMaxLength(MaxLength = 32, CheckHandleName = "A")]
|
|
[CheckStringMaxLength(MaxLength = 32, Required = false, CheckHandleName = "B")]
|
|
[DefaultValue("")]
|
|
[SacDescription("ProductNo", "代签产品编号", "32", false, "校验规则:补正时必填;")]
|
|
public string ProductNo { get; set; }
|
|
/// <summary>
|
|
/// 客户类型
|
|
/// </summary>
|
|
[XmlIgnore]
|
|
[DefaultValue("")]
|
|
[SacDescription("ClientType", "客户类型", "", false, "")]
|
|
public string ClientType { get; set; }
|
|
/// <summary>
|
|
/// 产品名称
|
|
/// <para>长度:100</para>
|
|
/// <para>必填:否</para>
|
|
/// <para>
|
|
/// 说明:校验规则:
|
|
/// 1 主协议交易对手方身份为产品管理人时必填;
|
|
/// 2 主协议交易对手方身份为自营禁止填值;
|
|
/// </para>
|
|
/// </summary>
|
|
[CheckConditionStringInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "A" })]
|
|
[CheckConditionStringNotInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "B" })]
|
|
[CheckStringMaxLength(MaxLength = 100, CheckHandleName = "A")]
|
|
[CheckStringMaxLength(MaxLength = 0, CheckHandleName = "B")]
|
|
[DefaultValue("")]
|
|
[SacDescription("ProductName", "产品名称", "100", false, "校验规则:\r\n1 主协议交易对手方身份为产品管理人时必填;\r\n2 主协议交易对手方身份为自营禁止填值;")]
|
|
public string ProductName { get; set; }
|
|
/// <summary>
|
|
/// 交易对手码(产品)
|
|
/// <para>长度:20</para>
|
|
/// <para>必填:否</para>
|
|
/// <para>说明:校验规则:1、主协议交易对手方身份为产品管理人必填;2、主协议交易对手方身份为自营禁止填值;3、应当符合标准规范</para>
|
|
/// </summary>
|
|
[CheckStringMaxLength(MaxLength = 20)]
|
|
[DefaultValue("")]
|
|
[SacDescription("CounterpartyCodeProducts", "交易对手码(产品)", "20", false, "校验规则:\r\n1、主协议交易对手方身份为产品管理人必填;\r\n2、主协议交易对手方身份为自营禁止填值;\r\n3、应当符合标准规范;")]
|
|
public string CounterpartyCodeProducts { get; set; }
|
|
/// <summary>
|
|
/// 产品投资经理姓名
|
|
/// <para>长度:100</para>
|
|
/// <para>必填:否</para>
|
|
/// <para>
|
|
/// 说明:校验规则:
|
|
/// 1 主协议交易对手方身份为产品管理人必填;
|
|
/// 2 主协议交易对手方身份为自营禁止填值;
|
|
/// </para>
|
|
/// </summary>
|
|
[CheckConditionStringInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "A" })]
|
|
[CheckConditionStringNotInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "B" })]
|
|
[CheckStringMaxLength(MaxLength = 100, CheckHandleName = "A")]
|
|
[CheckStringMaxLength(MaxLength = 0, CheckHandleName = "B")]
|
|
[DefaultValue("")]
|
|
[SacDescription("ManagerName", "产品投资经理姓名", "100", false, "校验规则:\r\n1 主协议交易对手方身份为产品管理人必填;\r\n2 主协议交易对手方身份为自营禁止填值;")]
|
|
public string ManagerName { get; set; }
|
|
/// <summary>
|
|
/// 投资经理联系电话
|
|
/// <para>长度:20</para>
|
|
/// <para>必填:否</para>
|
|
/// <para>
|
|
/// 说明:校验规则:
|
|
/// 1 主协议交易对手方身份为产品管理人必填;
|
|
/// 2 主协议交易对手方身份为自营禁止填值;
|
|
/// </para>
|
|
/// </summary>
|
|
[CheckConditionStringInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "A" })]
|
|
[CheckConditionStringNotInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "B" })]
|
|
[CheckStringMaxLength(MaxLength = 20, CheckHandleName = "A")]
|
|
[CheckStringMaxLength(MaxLength = 0, CheckHandleName = "B")]
|
|
[DefaultValue("")]
|
|
[SacDescription("InvestmentManagerContactNumber", "投资经理联系电话", "20", false, "校验规则:\r\n1 主协议交易对手方身份为产品管理人必填;\r\n2 主协议交易对手方身份为自营禁止填值;")]
|
|
public string InvestmentManagerContactNumber { get; set; }
|
|
/// <summary>
|
|
/// 托管机构(如有)
|
|
/// <para>长度:200</para>
|
|
/// <para>必填:否</para>
|
|
/// <para>
|
|
/// 说明:校验规则:
|
|
/// 1 主协议交易对手方身份为自营禁止填值;
|
|
/// </para>
|
|
/// </summary>
|
|
[CheckConditionStringInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "A" })]
|
|
[CheckConditionStringNotInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "B" })]
|
|
[CheckStringMaxLength(MaxLength = 200, Required = false, CheckHandleName = "A")]
|
|
[CheckStringMaxLength(MaxLength = 0, CheckHandleName = "B")]
|
|
[DefaultValue("")]
|
|
[SacDescription("TrusteeAgency", "托管机构(如有)", "200", false, "校验规则:\r\n1 主协议交易对手方身份为自营禁止填值;")]
|
|
public string TrusteeAgency { get; set; }
|
|
/// <summary>
|
|
/// 入表日期
|
|
/// <para>长度:10</para>
|
|
/// <para>必填:否</para>
|
|
/// <para>
|
|
/// 说明:校验规则:
|
|
/// 1 必须是YYYY-MM-DD;
|
|
/// 2 主协议交易对手方身份为产品管理人必填;
|
|
/// 3 主协议交易对手方身份为自营禁止填值;
|
|
/// </para>
|
|
/// </summary>
|
|
[CheckConditionStringInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "A" })]
|
|
[CheckConditionStringNotInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "B" })]
|
|
[CheckStringMaxLength(MaxLength = 10, CheckHandleName = "A")]
|
|
[CheckStringIsDateTimeFormat(FormatString = "yyyy-MM-dd", CheckHandleName = "A")]
|
|
[CheckStringMaxLength(MaxLength = 0, CheckHandleName = "B")]
|
|
[DefaultValue("")]
|
|
[SacDescription("TheDateTable", "入表日期", "10", false, "校验规则:\r\n1 必须是YYYY-MM-DD;\r\n2 主协议交易对手方身份为产品管理人必填;\r\n3 主协议交易对手方身份为自营禁止填值;")]
|
|
public string TheDateTable { get; set; }
|
|
/// <summary>
|
|
/// 代签产品附件
|
|
/// <para>长度:10</para>
|
|
/// <para>必填:否</para>
|
|
/// <para>
|
|
/// 说明:校验规则:
|
|
/// 1 只支持PDF格式;
|
|
/// 2 主协议交易对手方身份为产品管理人必填;
|
|
/// 3 主协议交易对手方身份为自营禁止填值;
|
|
/// </para>
|
|
/// </summary>
|
|
[CheckConditionStringInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "A" })]
|
|
[CheckConditionStringNotInMap(ConditionName = nameof(ClientType), ConditionMap = new[] { "产品", "产品管理人" }, CheckHandleNameArr = new[] { "B" })]
|
|
[CheckStringEndsWith(EndsWithString = ".pdf", CheckHandleName = "A")]
|
|
[CheckStringMaxLength(MaxLength = 0, CheckHandleName = "B")]
|
|
[DefaultValue("")]
|
|
[SacDescription("SuchProducts", "代签产品附件", "10", false, "校验规则:\r\n1 只支持PDF格式;\r\n2 主协议交易对手方身份为产品管理人必填;\r\n3 主协议交易对手方身份为自营禁止填值;")]
|
|
public string SuchProducts { get; set; }
|
|
}
|
|
} |