1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2025-06-08 00:16:27 +00:00

Added additional cases for no null/default handling in DateTimeConverter

This commit is contained in:
Jan Korf 2022-05-22 11:35:17 +02:00
parent e42ca4ab5a
commit 4b44861e43

View File

@ -31,7 +31,7 @@ namespace CryptoExchange.Net.Converters
if(reader.TokenType is JsonToken.Integer) if(reader.TokenType is JsonToken.Integer)
{ {
var longValue = (long)reader.Value; var longValue = (long)reader.Value;
if (longValue == 0) if (longValue == 0 || longValue == -1)
return objectType == typeof(DateTime) ? default(DateTime): null; return objectType == typeof(DateTime) ? default(DateTime): null;
if (longValue < 19999999999) if (longValue < 19999999999)
return ConvertFromSeconds(longValue); return ConvertFromSeconds(longValue);
@ -45,6 +45,9 @@ namespace CryptoExchange.Net.Converters
else if (reader.TokenType is JsonToken.Float) else if (reader.TokenType is JsonToken.Float)
{ {
var doubleValue = (double)reader.Value; var doubleValue = (double)reader.Value;
if (doubleValue == 0 || doubleValue == -1)
return objectType == typeof(DateTime) ? default(DateTime) : null;
if (doubleValue < 19999999999) if (doubleValue < 19999999999)
return ConvertFromSeconds(doubleValue); return ConvertFromSeconds(doubleValue);
@ -56,6 +59,9 @@ namespace CryptoExchange.Net.Converters
if (string.IsNullOrWhiteSpace(stringValue)) if (string.IsNullOrWhiteSpace(stringValue))
return null; return null;
if (string.IsNullOrWhiteSpace(stringValue) || stringValue == "0" || stringValue == "-1")
return objectType == typeof(DateTime) ? default(DateTime) : null;
if (stringValue.Length == 8) if (stringValue.Length == 8)
{ {
// Parse 20211103 format // Parse 20211103 format