feat(core): add shared DTOs, MqttTopics constants, DatabaseBootstrapper, and ManagedMqttClient extensions
This commit is contained in:
@@ -1,17 +1,18 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace FinlyticCore.Dtos.TradeRepublic;
|
||||
|
||||
public record TradeRepublicPriceTick(
|
||||
[property: JsonPropertyName("time")] long Time,
|
||||
[property: JsonPropertyName("price")] string Price,
|
||||
[property: JsonPropertyName("size")] decimal Size
|
||||
[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 => decimal.TryParse(Price, NumberStyles.Any, CultureInfo.InvariantCulture, out var v) ? v : 0m;
|
||||
public DateTime DateTimeUtc => DateTimeOffset.FromUnixTimeMilliseconds(Time).UtcDateTime;
|
||||
public decimal PriceValue => Price;
|
||||
public DateTime DateTimeUtc => Time.HasValue && Time.Value > 0
|
||||
? DateTimeOffset.FromUnixTimeMilliseconds(Time.Value).UtcDateTime
|
||||
: DateTime.UtcNow;
|
||||
}
|
||||
|
||||
public record TradeRepublicTickerResponse(
|
||||
|
||||
Reference in New Issue
Block a user