Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        /// <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;
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        /// <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);
        }