public Collections.Market BetfairAPIGetMarketRespToMarket(Collections.Market marketToUpdateTo, Collections.Market marketToUpdateFrom) { if (marketToUpdateFrom == null) { return(null); } if (marketToUpdateTo == null) { marketToUpdateTo = new Collections.Market(); } marketToUpdateTo.apiMarketDataLastRefresh = marketToUpdateFrom.apiMarketDataLastRefresh; marketToUpdateTo.bspMarket = marketToUpdateFrom.bspMarket; marketToUpdateTo.country = marketToUpdateFrom.country; marketToUpdateTo.currency = marketToUpdateFrom.currency; marketToUpdateTo.discountAllowed = marketToUpdateFrom.discountAllowed; marketToUpdateTo.eventDate = marketToUpdateFrom.eventDate; marketToUpdateTo.eventHierarchy = marketToUpdateFrom.eventHierarchy; marketToUpdateTo.eventTypeId = marketToUpdateFrom.eventTypeId; marketToUpdateTo.exchangeId = marketToUpdateFrom.exchangeId; marketToUpdateTo.lastMarketInfoLoad = DateTime.Now; marketToUpdateTo.marketBaseRate = marketToUpdateFrom.marketBaseRate; marketToUpdateTo.marketId = marketToUpdateFrom.marketId; marketToUpdateTo.marketInformation = marketToUpdateFrom.marketInformation; marketToUpdateTo.name = marketToUpdateFrom.name; marketToUpdateTo.numberOfRunners = marketToUpdateFrom.numberOfRunners; marketToUpdateTo.numberOfWinners = marketToUpdateFrom.numberOfWinners; marketToUpdateTo.runnersMayBeAdded = marketToUpdateFrom.runnersMayBeAdded; marketToUpdateTo.status = marketToUpdateFrom.status; marketToUpdateTo.type = marketToUpdateFrom.type; marketToUpdateTo.menuPath = marketToUpdateFrom.menuPath; if (marketToUpdateTo.runners == null) { marketToUpdateTo.runners = new SelectionList(); } foreach (Collections.Selection runner in marketToUpdateFrom.runners) { int indexNo = marketToUpdateTo.runners.GetRunnerIndexNoBySelectionId(runner.selectionId); if (indexNo < 0) { var r = new Collections.Selection { asianLineId = runner.asianLineId, handiCap = runner.handiCap, name = runner.name, selectionId = runner.selectionId, actualSPPrice = runner.actualSPPrice, farSPPrice = runner.farSPPrice, nearSPPrice = runner.nearSPPrice }; marketToUpdateTo.runners.Add(r); } else { Collections.Selection r = marketToUpdateTo.runners[indexNo]; r.asianLineId = runner.asianLineId; r.handiCap = runner.handiCap; r.name = runner.name; r.selectionId = runner.selectionId; r.actualSPPrice = runner.actualSPPrice; r.farSPPrice = runner.farSPPrice; r.nearSPPrice = runner.nearSPPrice; marketToUpdateTo.runners[indexNo] = r; } } return(Helper.CheckForEmtyRunnerInstances(marketToUpdateTo)); }
/// <summary> /// The API GetMarket service allows the customer to input a /// Market ID and retrieve all static market data for the /// market requested. To get a Market ID for the betting /// market associated with an event you are interested in, /// use the GetEvents command. /// </summary> /// <param name="exchangeId">The exchange id.</param> /// <param name="marketId">The market id.</param> /// <returns></returns> public Market GetMarketObject(int exchangeId, int marketId) { BetfairExchangeAPI.Market bfMarket = GetMarket(exchangeId, marketId); var marketToUpdate = new Market(); if (bfMarket != null) { marketToUpdate.apiMarketDataLastRefresh = bfMarket.lastRefresh; marketToUpdate.bspMarket = bfMarket.bspMarket; marketToUpdate.country = bfMarket.countryISO3; marketToUpdate.currency = _currency; marketToUpdate.discountAllowed = bfMarket.discountAllowed; marketToUpdate.eventDate = bfMarket.marketTime; marketToUpdate.eventHierarchy = bfMarket.eventHierarchy; marketToUpdate.eventTypeId = bfMarket.eventTypeId; marketToUpdate.exchangeId = exchangeId; marketToUpdate.lastMarketInfoLoad = DateTime.Now; marketToUpdate.marketBaseRate = bfMarket.marketBaseRate; marketToUpdate.marketId = marketId; marketToUpdate.marketInformation = bfMarket.marketDescription; marketToUpdate.name = bfMarket.name; marketToUpdate.numberOfRunners = bfMarket.runners.Length; marketToUpdate.numberOfWinners = bfMarket.numberOfWinners; marketToUpdate.runnersMayBeAdded = bfMarket.runnersMayBeAdded; marketToUpdate.status = (MarketStatus) Enum.Parse(typeof (MarketStatus), bfMarket.marketStatus.ToString()); marketToUpdate.type = bfMarket.marketType.ToString(); marketToUpdate.menuPath = bfMarket.menuPath; if (marketToUpdate.runners == null) { marketToUpdate.runners = new SelectionList(); } foreach (var runner in bfMarket.runners) { var indexNo = marketToUpdate.runners.GetRunnerIndexNoBySelectionId(runner.selectionId); if (indexNo < 0) { var r = new Collections.Selection { asianLineId = runner.asianLineId, handiCap = runner.handicap, name = runner.name, selectionId = runner.selectionId }; marketToUpdate.runners.Add(r); } else { Collections.Selection r = marketToUpdate.runners[indexNo]; r.asianLineId = runner.asianLineId; r.handiCap = runner.handicap; r.name = runner.name; r.selectionId = runner.selectionId; marketToUpdate.runners[indexNo] = r; } } return CheckForEmtyRunnerInstances(marketToUpdate); } return null; }
public Collections.Market BetfairAPIGetMarketRespToMarket(Collections.Market marketToUpdateTo, Collections.Market marketToUpdateFrom) { if (marketToUpdateFrom == null) return null; if (marketToUpdateTo == null) { marketToUpdateTo = new Collections.Market(); } marketToUpdateTo.apiMarketDataLastRefresh = marketToUpdateFrom.apiMarketDataLastRefresh; marketToUpdateTo.bspMarket = marketToUpdateFrom.bspMarket; marketToUpdateTo.country = marketToUpdateFrom.country; marketToUpdateTo.currency = marketToUpdateFrom.currency; marketToUpdateTo.discountAllowed = marketToUpdateFrom.discountAllowed; marketToUpdateTo.eventDate = marketToUpdateFrom.eventDate; marketToUpdateTo.eventHierarchy = marketToUpdateFrom.eventHierarchy; marketToUpdateTo.eventTypeId = marketToUpdateFrom.eventTypeId; marketToUpdateTo.exchangeId = marketToUpdateFrom.exchangeId; marketToUpdateTo.lastMarketInfoLoad = DateTime.Now; marketToUpdateTo.marketBaseRate = marketToUpdateFrom.marketBaseRate; marketToUpdateTo.marketId = marketToUpdateFrom.marketId; marketToUpdateTo.marketInformation = marketToUpdateFrom.marketInformation; marketToUpdateTo.name = marketToUpdateFrom.name; marketToUpdateTo.numberOfRunners = marketToUpdateFrom.numberOfRunners; marketToUpdateTo.numberOfWinners = marketToUpdateFrom.numberOfWinners; marketToUpdateTo.runnersMayBeAdded = marketToUpdateFrom.runnersMayBeAdded; marketToUpdateTo.status = marketToUpdateFrom.status; marketToUpdateTo.type = marketToUpdateFrom.type; marketToUpdateTo.menuPath = marketToUpdateFrom.menuPath; if (marketToUpdateTo.runners == null) { marketToUpdateTo.runners = new SelectionList(); } foreach (Collections.Selection runner in marketToUpdateFrom.runners) { int indexNo = marketToUpdateTo.runners.GetRunnerIndexNoBySelectionId(runner.selectionId); if (indexNo < 0) { var r = new Collections.Selection { asianLineId = runner.asianLineId, handiCap = runner.handiCap, name = runner.name, selectionId = runner.selectionId, actualSPPrice = runner.actualSPPrice, farSPPrice = runner.farSPPrice, nearSPPrice = runner.nearSPPrice }; marketToUpdateTo.runners.Add(r); } else { Collections.Selection r = marketToUpdateTo.runners[indexNo]; r.asianLineId = runner.asianLineId; r.handiCap = runner.handiCap; r.name = runner.name; r.selectionId = runner.selectionId; r.actualSPPrice = runner.actualSPPrice; r.farSPPrice = runner.farSPPrice; r.nearSPPrice = runner.nearSPPrice; marketToUpdateTo.runners[indexNo] = r; } } return Helper.CheckForEmtyRunnerInstances(marketToUpdateTo); }
/// <summary> /// The API GetMarket service allows the customer to input a /// Market ID and retrieve all static market data for the /// market requested. To get a Market ID for the betting /// market associated with an event you are interested in, /// use the GetEvents command. /// </summary> /// <param name="exchangeId">The exchange id.</param> /// <param name="marketId">The market id.</param> /// <returns></returns> public Market GetMarketObject(int exchangeId, int marketId) { BetfairExchangeAPI.Market bfMarket = GetMarket(exchangeId, marketId); var marketToUpdate = new Market(); if (bfMarket != null) { marketToUpdate.apiMarketDataLastRefresh = bfMarket.lastRefresh; marketToUpdate.bspMarket = bfMarket.bspMarket; marketToUpdate.country = bfMarket.countryISO3; marketToUpdate.currency = _currency; marketToUpdate.discountAllowed = bfMarket.discountAllowed; marketToUpdate.eventDate = bfMarket.marketTime; marketToUpdate.eventHierarchy = bfMarket.eventHierarchy; marketToUpdate.eventTypeId = bfMarket.eventTypeId; marketToUpdate.exchangeId = exchangeId; marketToUpdate.lastMarketInfoLoad = DateTime.Now; marketToUpdate.marketBaseRate = bfMarket.marketBaseRate; marketToUpdate.marketId = marketId; marketToUpdate.marketInformation = bfMarket.marketDescription; marketToUpdate.name = bfMarket.name; marketToUpdate.numberOfRunners = bfMarket.runners.Length; marketToUpdate.numberOfWinners = bfMarket.numberOfWinners; marketToUpdate.runnersMayBeAdded = bfMarket.runnersMayBeAdded; marketToUpdate.status = (MarketStatus)Enum.Parse(typeof(MarketStatus), bfMarket.marketStatus.ToString()); marketToUpdate.type = bfMarket.marketType.ToString(); marketToUpdate.menuPath = bfMarket.menuPath; if (marketToUpdate.runners == null) { marketToUpdate.runners = new SelectionList(); } foreach (var runner in bfMarket.runners) { var indexNo = marketToUpdate.runners.GetRunnerIndexNoBySelectionId(runner.selectionId); if (indexNo < 0) { var r = new Collections.Selection { asianLineId = runner.asianLineId, handiCap = runner.handicap, name = runner.name, selectionId = runner.selectionId }; marketToUpdate.runners.Add(r); } else { Collections.Selection r = marketToUpdate.runners[indexNo]; r.asianLineId = runner.asianLineId; r.handiCap = runner.handicap; r.name = runner.name; r.selectionId = runner.selectionId; marketToUpdate.runners[indexNo] = r; } } return(CheckForEmtyRunnerInstances(marketToUpdate)); } return(null); }