27 lines
1.1 KiB
C#
27 lines
1.1 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace FinlyticCore.Models.TradeRepublic;
|
|
|
|
public record TradeRepublicPriceTick(
|
|
[property: JsonPropertyName("time")] long Time,
|
|
[property: JsonPropertyName("price")] string Price,
|
|
[property: JsonPropertyName("size")] decimal Size
|
|
)
|
|
{
|
|
public decimal PriceValue => decimal.TryParse(Price, NumberStyles.Any, CultureInfo.InvariantCulture, out var v) ? v : 0m;
|
|
public DateTime DateTimeUtc => DateTimeOffset.FromUnixTimeMilliseconds(Time).UtcDateTime;
|
|
}
|
|
|
|
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
|
|
);
|