Esempio n. 1
0
        /// <summary>
        /// listMarketCatalogue
        /// MarketProjection Weight
        /// MARKET_DESCRIPTION 1
        /// RUNNER_DESCRIPTION 0
        /// EVENT 0
        /// EVENT_TYPE 0
        /// COMPETITION 0
        /// RUNNER_METADATA 1
        /// MARKET_START_TIME 0
        /// </summary>
        /// <param name="marketProjection"></param>
        /// <returns></returns>
        public static int GetCost(MarketProjection marketProjection)
        {
            switch (marketProjection)
            {
            case MarketProjection.MARKET_DESCRIPTION:
                return(1);

            case MarketProjection.RUNNER_DESCRIPTION:
                return(0);

            case MarketProjection.EVENT:
                return(0);

            case MarketProjection.EVENT_TYPE:
                return(0);

            case MarketProjection.COMPETITION:
                return(0);

            case MarketProjection.RUNNER_METADATA:
                return(1);

            case MarketProjection.MARKET_START_TIME:
                return(0);

            default:
                throw new Exception($"MarketProjection, {marketProjection}, not accounted for.");
            }
        }
        public IList<MarketCatalogue> GetMarketCatalogueForEvent(string eventId, 
                                      MarketProjection marketProjection = MarketProjection.MARKET_DESCRIPTION)
        {
            var filter = CreateStandardFilter();

            if (!string.IsNullOrEmpty(eventId))
            {
                filter.EventIds = new HashSet<string>() { eventId };
            }
            var projection = new HashSet<MarketProjection>() { marketProjection };
            var market = this.client.ListMarketCatalogue(filter, 50, projection);

            return market;
        }