using BaseOUDAL; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace YLErp.DBModels { public static class ExDividendDataSources { public const string Manual = "Manual"; public const string MarketData = "MarketData"; } [Table("ex_dividend_info")] public class ex_dividend_info : DBModelWithOperator { public static string LogClass = "除权除息信息"; /// /// 股权登记日 /// [DisplayName("股权登记日")] public DateTime? ExDividendDate { get; set; } /// /// 真实除权生效日。 /// ExDividendDate 表示登记日,EffectiveDate 表示从哪个 EOD 起数量/价格基线 /// 才允许切换到除权后口径;两者可能因周末、节假日或公告安排而不同。 /// [DisplayName("真实除权日")] public DateTime? EffectiveDate { get; set; } /// /// 税率 /// [NotMapped] public double DividRate { get; set; } [DisplayName("标的资产")] public int UnderlyingId { get; set; } /// /// 标的资产码 /// [DisplayName("标的资产码"), Required] public string UnderlyingCode { get; set; } /// /// 派息金额 /// [DisplayName("派息金额")] public decimal GiveCashAmount { get; set; } /// /// 送股手数 /// [DisplayName("送股股数")] public decimal GiveShareAmount { get; set; } /// /// 拆/合股倍数。为空时按 1 兼容历史记录;与 GiveShareAmount 的“每 10 份送股数量”语义不同。 /// [DisplayName("拆/合股倍数")] public decimal? Split { get; set; } /// /// 配股手数 /// [DisplayName("配股股数")] public decimal RationedSharesAmount { get; set; } /// /// 配股手数 /// [DisplayName("配股价")] public decimal RationedSharesPrice { get; set; } /// /// 是否有效 /// public bool ValidStatus { get; set; } /// /// Ownership of the record. Manual records always take precedence over imports. /// [DisplayName("数据来源"), Required, MaxLength(32)] public string DataSource { get; set; } = ExDividendDataSources.Manual; /// /// Last update timestamp supplied by the market-data provider. /// [DisplayName("来源更新时间")] public DateTime? SourceUpdatedAt { get; set; } } public class ex_dividend_infoReq : BaseSearchReq { /// /// /// public int id { get; set; } [DisplayName("标的资产")] public int? UnderlyingId { get; set; } /// /// 标的资产码 /// public string UnderlyingCode { get; set; } /// /// 股权登记日 /// public DateTime? ExDividendDate { get; set; } /// /// 真实除权生效日。 /// public DateTime? EffectiveDate { get; set; } } }