63 lines
1.5 KiB
C#
63 lines
1.5 KiB
C#
using KLHZ.Trader.Core.Contracts.Messaging.Dtos;
|
|
using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Interfaces;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace KLHZ.Trader.Core.DataLayer.Entities.Prices
|
|
{
|
|
[Table("price_changes")]
|
|
public class PriceChange : ITradeDataItem
|
|
{
|
|
[Column("id")]
|
|
public long Id { get; set; }
|
|
|
|
[Column("time")]
|
|
public DateTime Time { get; set; }
|
|
|
|
[Column("value")]
|
|
public decimal Price { get; set; }
|
|
|
|
[Column("figi")]
|
|
public required string Figi { get; set; }
|
|
|
|
[Column("ticker")]
|
|
public required string Ticker { get; set; }
|
|
|
|
[NotMapped]
|
|
public bool IsHistoricalData { get; set; }
|
|
[Column("count")]
|
|
public long Count { get; set; }
|
|
|
|
[Column("direction")]
|
|
public int Direction { get; set; }
|
|
|
|
[NotMapped]
|
|
public decimal Value { get; set; }
|
|
|
|
[NotMapped]
|
|
public decimal Value2 { get; set; }
|
|
|
|
[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();
|
|
}
|
|
}
|