using System.ComponentModel.DataAnnotations.Schema; namespace YLErp.DBModels { [Table("correlation")] public class CorrelationTable : DBModelWithOperator, IDataEntity, IDataTraceV2, IClonable { public static string LogClass = "相关性数据表"; /// /// 是否每日最后使用标签 /// public const string LatestState = "latest"; public const string OldState = "old"; public bool IsLatest { get { return DayLastState == LatestState && ValueDate == DateTime.Now.Date; } } /// /// lastest为是每日最后一条 /// [DisplayName("是否每日最后一条")] public string DayLastState { get; set; } [DisplayName("过期状态")] public string LiveState { get; set; } /// /// 为当前使用或是历史,当前使用相同group应只有一条,一般是最新的是当前的 /// [DisplayName("状态")] public string State { get; set; } /// /// 标的资产信息1 /// [DisplayName("标的资产信息1")] public int? UnderlyingId1 { get; set; } /// /// 标的资产1 /// [DisplayName("标的资产1")] public string UnderlyingCode1 { get; set; } /// /// 标的资产信息2 /// [DisplayName("标的资产信息2")] public int? UnderlyingId2 { get; set; } /// /// 标的资产2 /// [DisplayName("标的资产2")] public string UnderlyingCode2 { get; set; } /// /// 估值日 /// [DisplayName("估值日")] public DateTime? ValueDate { get; set; } /// /// 相关性 /// [DisplayName("相关性")] public double? Correlation { get; set; } public CorrelationTable Clone() { return (CorrelationTable)MemberwiseClone(); } public string GetDataTraceKeyId() { return id.ToString(); } public string GetDataTraceKeyInfo() { return $"相关性:{UnderlyingCode1},{UnderlyingCode2}"; } } }