Esempio n. 1
0
        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\\");
        }
Esempio n. 2
0
        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));
        }