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); }
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); }
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); }
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); }