private static void SaveResultsToOutputFolder(GetFixturesResponse fixtures, GetOddsResponse lines, List <League> leagues) { CleanOutputFolder(); foreach (var league in fixtures.Leagues) { foreach (var fixture in league.Events) { FlushToFile(@"Output\Fixtures.json", JsonConvert.SerializeObject(fixture)); } } foreach (var league in lines.Leagues) { foreach (var line in league.Events.Where(e => e.Periods.Any())) { FlushToFile(@"Output\Lines.json", JsonConvert.SerializeObject(line)); } } foreach (var league in leagues) { FlushToFile(@"Output\Leagues.json", JsonConvert.SerializeObject(league)); } Logger.Info("Results saved in \\Output\\"); }
private static async Task <PlaceBetResponse> PlaceRandomBet(GetOddsResponse lines, PinnacleClient api) { int fullMatchPeriodNumber = 0; var eventsWithFullMatchMoneyLines = lines.Leagues.SelectMany(l => l.Events.Where(e => e.Periods.Any(p => p.Status == (int)PeriodStatus.Online && p.MoneyLine?.Home > 1.0m && p.Number == fullMatchPeriodNumber)) ).ToList(); var randomIndex = new Random().Next(0, eventsWithFullMatchMoneyLines.Count() - 1); var randomEvent = eventsWithFullMatchMoneyLines[randomIndex]; var request = new PlaceBetRequest { AcceptBetterLine = true, LineId = randomEvent.Periods.First(p => p.Number == fullMatchPeriodNumber).LineId, PeriodNumber = fullMatchPeriodNumber, TeamType = TeamType.Team1, Stake = 25, WinRiskType = WinRiskType.Risk, OddsFormat = OddsFormat.DECIMAL, SportId = SampleSportId, UniqueRequestId = Guid.NewGuid(), EventId = randomEvent.Id, BetType = BetType.MoneyLine, }; return(await api.PlaceBet(request)); }