From a258532d6a0ac9b0704b8a2855d49aeea6bdf575 Mon Sep 17 00:00:00 2001 From: Jkorf Date: Mon, 10 Feb 2025 14:32:25 +0100 Subject: [PATCH] Fixed DataTime copying in DataEvent --- .../Objects/Sockets/DataEvent.cs | 24 ++++++++++++++----- .../SharedApis/Models/ExchangeEvent.cs | 1 + 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/CryptoExchange.Net/Objects/Sockets/DataEvent.cs b/CryptoExchange.Net/Objects/Sockets/DataEvent.cs index 5b1ecf2..e808bdf 100644 --- a/CryptoExchange.Net/Objects/Sockets/DataEvent.cs +++ b/CryptoExchange.Net/Objects/Sockets/DataEvent.cs @@ -15,7 +15,7 @@ namespace CryptoExchange.Net.Objects.Sockets public DateTime ReceiveTime { get; set; } /// - /// The timestamp of the data as specified by the server + /// The timestamp of the data as specified by the server. Note that the server time and client time might not be 100% in sync so this value might not be fully comparable to local time. /// public DateTime? DataTime { get; set; } @@ -65,7 +65,10 @@ namespace CryptoExchange.Net.Objects.Sockets /// public DataEvent As(K data) { - return new DataEvent(data, StreamId, Symbol, OriginalData, ReceiveTime, UpdateType); + return new DataEvent(data, StreamId, Symbol, OriginalData, ReceiveTime, UpdateType) + { + DataTime = DataTime + }; } /// @@ -77,7 +80,10 @@ namespace CryptoExchange.Net.Objects.Sockets /// public DataEvent As(K data, string? symbol) { - return new DataEvent(data, StreamId, symbol, OriginalData, ReceiveTime, UpdateType); + return new DataEvent(data, StreamId, symbol, OriginalData, ReceiveTime, UpdateType) + { + DataTime = DataTime + }; } /// @@ -91,7 +97,10 @@ namespace CryptoExchange.Net.Objects.Sockets /// public DataEvent As(K data, string streamId, string? symbol, SocketUpdateType updateType) { - return new DataEvent(data, streamId, symbol, OriginalData, ReceiveTime, updateType); + return new DataEvent(data, streamId, symbol, OriginalData, ReceiveTime, updateType) + { + DataTime = DataTime + }; } /// @@ -103,7 +112,10 @@ namespace CryptoExchange.Net.Objects.Sockets /// public ExchangeEvent AsExchangeEvent(string exchange, K data) { - return new ExchangeEvent(exchange, this.As(data)); + return new ExchangeEvent(exchange, this.As(data)) + { + DataTime = DataTime + }; } /// @@ -142,7 +154,7 @@ namespace CryptoExchange.Net.Objects.Sockets /// /// Specify the data timestamp /// - public DataEvent WithDataTimestamp(DateTime timestamp) + public DataEvent WithDataTimestamp(DateTime? timestamp) { DataTime = timestamp; return this; diff --git a/CryptoExchange.Net/SharedApis/Models/ExchangeEvent.cs b/CryptoExchange.Net/SharedApis/Models/ExchangeEvent.cs index 6587617..6e1df01 100644 --- a/CryptoExchange.Net/SharedApis/Models/ExchangeEvent.cs +++ b/CryptoExchange.Net/SharedApis/Models/ExchangeEvent.cs @@ -24,6 +24,7 @@ namespace CryptoExchange.Net.SharedApis evnt.ReceiveTime, evnt.UpdateType) { + DataTime = evnt.DataTime; Exchange = exchange; }