public async Task <EndedEventsPage> GetEndedEventsDayAsync(int sportId, string token, int day, int page) { var result = await _retryPolicy.ExecuteAndCaptureAsync(() => _betsApiClient.GetEndedEventsDayAsync(sportId, token, day, page)); return(result.Result); }
public async Task ScanPassedGamesAsync() { var earliestDate = DateTimeOffset.UtcNow; Console.WriteLine($"Starting from {earliestDate}"); foreach (var date in GetYYYYMMDDs(earliestDate.DateTime, _configuration.DaysToScanBefore)) { Console.WriteLine($"Current date {date}"); EndedEventsPage firstPage; var attempt = 0; do { firstPage = await _betsApiClient.GetEndedEventsDayAsync((int)SportId.TableTennis, _configuration.BetsApiAccessToken, date, 0); if (firstPage?.Results == null) { attempt++; await Task.Delay(TimeSpan.FromSeconds(10)); } } while (firstPage?.Results == null && attempt < 10); if (firstPage?.Results == null) { continue; } var totalPages = 4; if (firstPage.Pager.PerPage != 0) { totalPages = 1 + firstPage.Pager.Total / firstPage.Pager.PerPage; } Console.WriteLine($"Total pages in this date {totalPages}"); await RegisterPageResults(firstPage); for (var i = 2; i <= totalPages + 2; i++) { Console.WriteLine($"Scanning page N{i}"); await ScanSinglePage(i, date); Console.WriteLine($"Done scanning page N{i}"); } } }