klhztrader/KLHZ.Trader.Core.Contracts/Messaging/Dtos/TradeDataItem.cs

41 lines
1.2 KiB
C#

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();
}
}