28 lines
1.2 KiB
C#
28 lines
1.2 KiB
C#
using System;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace FinlyticCore.Dtos.TradeRepublic;
|
|
|
|
public record TradeRepublicPriceTick(
|
|
[property: JsonPropertyName("time")] long? Time = null,
|
|
[property: JsonPropertyName("price"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)] decimal Price = 0m,
|
|
[property: JsonPropertyName("size")] decimal? Size = null
|
|
)
|
|
{
|
|
public decimal PriceValue => Price;
|
|
public DateTime DateTimeUtc => Time.HasValue && Time.Value > 0
|
|
? DateTimeOffset.FromUnixTimeMilliseconds(Time.Value).UtcDateTime
|
|
: DateTime.UtcNow;
|
|
}
|
|
|
|
public record TradeRepublicTickerResponse(
|
|
[property: JsonPropertyName("bid")] TradeRepublicPriceTick? Bid,
|
|
[property: JsonPropertyName("ask")] TradeRepublicPriceTick? Ask,
|
|
[property: JsonPropertyName("last")] TradeRepublicPriceTick? Last,
|
|
[property: JsonPropertyName("pre")] TradeRepublicPriceTick? Pre,
|
|
[property: JsonPropertyName("open")] TradeRepublicPriceTick? Open,
|
|
[property: JsonPropertyName("qualityId")] string? QualityId,
|
|
[property: JsonPropertyName("leverage")] decimal? Leverage,
|
|
[property: JsonPropertyName("delta")] decimal? Delta
|
|
);
|