Files
Finlytic/FinlyticCore/Dtos/TradeRepublic/TradeRepublicTickerResponse.cs
T

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