41 lines
1.2 KiB
C#
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();
|
|
}
|
|
}
|