using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Interfaces; using System.ComponentModel.DataAnnotations.Schema; namespace KLHZ.Trader.Core.Contracts.Messaging.Dtos { public class TradeDataItem : ITradeDataItem { public decimal Price { get; set; } public required string Figi { get; set; } public required string Ticker { get; set; } public DateTime Time { get; set; } public bool IsHistoricalData { get; set; } public long Count { get; set; } public int Direction { get; set; } public decimal Value { get; init; } public decimal Value2 { get; init; } [NotMapped] public AttachedInfo? AttachedInfo { get { lock (_locker) { return _attachedInfo; } } } public void SetAttachedInfo(AttachedInfo? attachedInfo) { lock (_locker) { _attachedInfo = attachedInfo; } } private AttachedInfo? _attachedInfo; private readonly object _locker = new(); } }