Esempio n. 1
0
        public override List <Runner> GetRunnersForMarket(string provider, string marketId)
        {
            EnsureCorrectProvider(provider);

            // First we need to get market information since this
            // contains the list of runners with names and ids.
            int betFairMarketId          = int.Parse(marketId.Trim());
            BetfairMarketInfo marketInfo = BetfairApi.Instance.GetMarketInfo(betFairMarketId);

            List <Runner> runners = new List <Runner>();

            foreach (BetfairRunner betfairRunner in marketInfo.Runners)
            {
                Runner runner = new Runner();
                runner.Id       = betfairRunner.Id.ToString(CultureInfo.InvariantCulture);
                runner.Provider = this.Name;
                runner.Title    = betfairRunner.Name;

                // Commented following two lines after separating price from runner. Created RunnerWithPrice instead which inherits
                // from Runner class.
                // BetfairRunnerOddsInfo befairOddInfo = oddsIndexedByRunner[betfairRunner.Id];
                // runner.Price = new Price(befairOddInfo.Odds);
                runners.Add(runner);
            }

            return(runners);
        }
Esempio n. 2
0
        private BetfairMarketInfo GetMarketInfoFromService(int marketId)
        {
            ExchangeService.GetMarketReq request = new ExchangeService.GetMarketReq();
            request.marketId = marketId;
            request.header   = CreateExchangeRequestHeader(_sessionToken);

            ExchangeService.GetMarketResp response = _exchangeService.getMarket(request);

            MaintainSession(response.header.sessionToken);

            MarketInfoParser  parser     = new MarketInfoParser();
            BetfairMarketInfo marketInfo = parser.ParseMarketInfo(response.market);

            return(marketInfo);
        }
Esempio n. 3
0
        internal BetfairMarketInfo ParseMarketInfo(Market marketData)
        {
            BetfairMarketInfo marketInfo = new BetfairMarketInfo();

            marketInfo.Id          = marketData.marketId;
            marketInfo.Name        = marketData.name;
            marketInfo.Description = marketData.marketDescription;
            marketInfo.IsActive    = marketData.marketStatus == MarketStatusEnum.ACTIVE ? true : false;

            foreach (Runner runnerData in marketData.runners)
            {
                BetfairRunner runner = ParseRunner(runnerData);
                marketInfo.Runners.Add(runner);
            }

            return(marketInfo);
        }
Esempio n. 4
0
        public override List <Runner> GetRunnersForMarket(string provider, string category, string league, string marketId)
        {
            if (string.IsNullOrEmpty(provider))
            {
                throw new ArgumentNullException("provider", "provider is null");
            }
            if (string.IsNullOrEmpty(category))
            {
                throw new ArgumentNullException("category", "category is null");
            }
            if (string.IsNullOrEmpty(league))
            {
                throw new ArgumentNullException("league", "league is null");
            }
            if (string.IsNullOrEmpty(marketId))
            {
                throw new ArgumentNullException("marketId", "marketId is null");
            }

            EnsureCorrectProvider(provider);


            // First we need to get market information since this
            // contains the list of runners with names and ids.
            int betFairMarketId          = int.Parse(marketId);
            BetfairMarketInfo marketInfo = BetfairApi.Instance.GetMarketInfo(betFairMarketId);

            List <Runner> runners = new List <Runner>();

            foreach (BetfairRunner betfairRunner in marketInfo.Runners)
            {
                Runner runner = new Runner();
                runner.Provider = betfairRunner.Id.ToString(CultureInfo.InvariantCulture);
                runner.Title    = betfairRunner.Name;

                // Commented following two lines after separating price from runner. Created RunnerWithPrice instead which inherits
                // from Runner class.
                // BetfairRunnerOddsInfo befairOddInfo = oddsIndexedByRunner[betfairRunner.Id];
                // runner.Price = new Price(befairOddInfo.Odds);
                runners.Add(runner);
            }

            return(runners);
        }