Example #1
0
        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);
        }
Example #2
0
        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}");
                }
            }
        }