1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2026-04-13 00:22:22 +00:00
This commit is contained in:
Jkorf 2026-02-19 16:47:40 +01:00
parent 777a0466a0
commit 5fa6aa7ed2

View File

@ -21,6 +21,8 @@ namespace CryptoExchange.Net.SharedApis
public int? Offset { get; set; } public int? Offset { get; set; }
public int? Page { get; set; } public int? Page { get; set; }
public string? Cursor { get; set; } public string? Cursor { get; set; }
public int Limit { get; set; }
} }
public class PageRequest public class PageRequest
{ {
@ -46,6 +48,7 @@ namespace CryptoExchange.Net.SharedApis
{ {
public static PaginationParameters GetPaginationParameters( public static PaginationParameters GetPaginationParameters(
DataDirection direction, DataDirection direction,
int limit,
DateTime? requestStartTime, DateTime? requestStartTime,
DateTime requestEndTime, DateTime requestEndTime,
PageRequest? paginationRequest, PageRequest? paginationRequest,
@ -78,6 +81,7 @@ namespace CryptoExchange.Net.SharedApis
return new PaginationParameters return new PaginationParameters
{ {
Limit = limit,
StartTime = direction == DataDirection.Ascending || setOtherTimeLimiter ? startTime : null, StartTime = direction == DataDirection.Ascending || setOtherTimeLimiter ? startTime : null,
EndTime = direction == DataDirection.Descending || setOtherTimeLimiter ? endTime : null, EndTime = direction == DataDirection.Descending || setOtherTimeLimiter ? endTime : null,
Direction = direction, Direction = direction,
@ -94,13 +98,11 @@ namespace CryptoExchange.Net.SharedApis
IEnumerable<DateTime> timestamps, IEnumerable<DateTime> timestamps,
DateTime? requestStartTime, DateTime? requestStartTime,
DateTime requestEndTime, DateTime requestEndTime,
int limit,
DataDirection direction,
PaginationParameters lastPaginationData, PaginationParameters lastPaginationData,
TimeSpan? maxTimespan = null TimeSpan? maxTimespan = null
) )
{ {
if (HasNextPage(resultCount, timestamps, requestStartTime, requestEndTime, limit, direction)) if (HasNextPage(resultCount, timestamps, requestStartTime, requestEndTime, lastPaginationData.Limit, lastPaginationData.Direction))
{ {
var result = nextPageRequest(); var result = nextPageRequest();
if (result != null) if (result != null)
@ -114,9 +116,9 @@ namespace CryptoExchange.Net.SharedApis
if (maxTimespan != null) if (maxTimespan != null)
{ {
if (HasNextPeriod(requestStartTime, requestEndTime, direction, lastPaginationData, maxTimespan.Value)) if (HasNextPeriod(requestStartTime, requestEndTime, lastPaginationData.Direction, lastPaginationData, maxTimespan.Value))
{ {
var (startTime, endTime) = GetNextPeriod(requestStartTime, requestEndTime, direction, lastPaginationData, maxTimespan.Value); var (startTime, endTime) = GetNextPeriod(requestStartTime, requestEndTime, lastPaginationData.Direction, lastPaginationData, maxTimespan.Value);
return new PageRequest return new PageRequest
{ {
StartTime = startTime, StartTime = startTime,