using System.ComponentModel.DataAnnotations.Schema; using YLErp.Helpers; namespace YLErp.DBModels { [DataChange] [Table("trade_airbag")] public class trade_airbag : TradeExtendBase, IDataTraceV2, IDataTraceV3 { [DisplayName("敲入敲出状态")] public string KnockInOutStatus { get; set; } [NotMapped] [DisplayName("敲入敲出状态")] public string KnockInOutStatusCn { get { if (KnockInOutStatus == "KnockedIn") { return "已敲入"; } else if (KnockInOutStatus == "KnockedOut") { return "已敲出"; } else { return "观察中"; } } } [DisplayName("敲入敲出日期")] public DateTime? KnockInOutDate { get; set; } [DisplayName("敲入敲出份额")] public double? KnockInOutNotional { get; set; } [DisplayName("收益封顶价格")] [DataChange] public double HighStrike { get; set; } [DisplayName("收益封顶")] [DataChange] public bool HasPayoffLimit { get; set; } [DisplayName("敲入障碍价")] [DataChange] public double Barrier { get; set; } [DisplayName("敲入参与率")] [DataChange] public double KIParticipationRate { get; set; } [DisplayName("未敲入参与率")] public double? NotKIParticipationRate { get; set; } /// /// 是否离散观察 /// [DisplayName("是否离散观察")] [DataChange] public bool IsDiscreteMonitored { get; set; } public string GetDataTraceKeyId() { return TradeId.ToString(); } public string GetDataTraceKeyInfo() { return "气囊结构"; } /// /// 更新敲入敲出状态时需要更新trade数据 /// public string GetDataTraceTableName() { return ConsTrade.TableName; } } [NotMapped] public class trade_airbagDto : trade_airbag { } }