public IList <BetfairE.Bet> GetCurrentBets( int exchangeId, int marketId, BetfairE.BetStatusEnum status, BetfairE.BetsOrderByEnum orderBy, ref int record, int records) { BetfairE.BFExchangeService service = serviceExchanges[exchangeId]; BetfairE.GetCurrentBetsReq betsReq = new BetfairE.GetCurrentBetsReq(); betsReq.header = headerExchange; betsReq.marketId = marketId; betsReq.betStatus = status; betsReq.detailed = true; betsReq.orderBy = orderBy; betsReq.recordCount = records; betsReq.startRecord = record; betsReq.noTotalRecordCount = true; BetfairE.GetCurrentBetsResp betsResp = service.getCurrentBets(betsReq); ResetSessionToken(betsResp.header); if (betsResp.errorCode == BetfairE.GetCurrentBetsErrorEnum.OK) { record = (betsResp.bets.Length < records) ? 0 : (record + records); return(betsResp.bets); } else if (betsResp.errorCode == BetfairE.GetCurrentBetsErrorEnum.INVALID_START_RECORD) { record = 0; return(new BetfairE.Bet[0]); } else if (betsResp.errorCode == BetfairE.GetCurrentBetsErrorEnum.NO_RESULTS) { record = 0; return(new BetfairE.Bet[0]); } else if (ExchangeThrottleException.WasThrottled(betsResp)) { throw new ExchangeThrottleException("getCurrentBets", betsResp); } else { record = 0; throw new ExchangeException("getCurrentBets", betsResp); } }
public IList <BetfairE.Bet> GetBetHistory( int exchangeId, int marketId, BetfairE.BetStatusEnum status, DateTime from, DateTime to, ICollection <int> eventTypeIds, ICollection <BetfairE.MarketTypeEnum> marketTypes, BetfairE.BetsOrderByEnum orderBy, ref int record, int records) { int?[] nullableEventTypeIds = null; if (eventTypeIds != null) { int index = 0; nullableEventTypeIds = new int?[eventTypeIds.Count]; foreach (int eventTypeId in eventTypeIds) { nullableEventTypeIds[index++] = eventTypeId; } } BetfairE.MarketTypeEnum?[] nullableMarketTypes = null; if (marketTypes != null) { int index = 0; nullableMarketTypes = new BetfairE.MarketTypeEnum?[marketTypes.Count]; foreach (BetfairE.MarketTypeEnum marketType in marketTypes) { nullableMarketTypes[index++] = marketType; } } BetfairE.BFExchangeService service = serviceExchanges[exchangeId]; BetfairE.GetBetHistoryReq betsReq = new BetfairE.GetBetHistoryReq(); betsReq.header = headerExchange; betsReq.detailed = true; betsReq.marketId = marketId; betsReq.betTypesIncluded = status; betsReq.placedDateFrom = from; betsReq.placedDateTo = to; betsReq.eventTypeIds = nullableEventTypeIds; betsReq.marketTypesIncluded = nullableMarketTypes; betsReq.sortBetsBy = orderBy; betsReq.recordCount = records; betsReq.startRecord = record; BetfairE.GetBetHistoryResp betsResp = service.getBetHistory(betsReq); ResetSessionToken(betsResp.header); if (betsResp.errorCode == BetfairE.GetBetHistoryErrorEnum.OK) { record = (betsResp.betHistoryItems.Length < records) ? 0 : (record + records); return(betsResp.betHistoryItems); } else if (betsResp.errorCode == BetfairE.GetBetHistoryErrorEnum.INVALID_START_RECORD) { record = 0; return(new BetfairE.Bet[0]); } else if (betsResp.errorCode == BetfairE.GetBetHistoryErrorEnum.NO_RESULTS) { record = 0; return(new BetfairE.Bet[0]); } else if (ExchangeThrottleException.WasThrottled(betsResp)) { throw new ExchangeThrottleException("getBetHistory", betsResp); } else { record = 0; throw new ExchangeException("getBetHistory", betsResp); } }