Пример #1
0
        public Task <BetfairServerResponse <CurrentOrderSummaryReport> > ListCurrentOrders(
            ISet <string> betIds            = null,
            ISet <string> marketIds         = null,
            OrderProjection?orderProjection = null,
            TimeRange placedDateRange       = null,
            TimeRange dateRange             = null,
            OrderBy?orderBy = null,
            SortDir?sortDir = null,
            int?fromRecord  = null,
            int?recordCount = null)
        {
            var args = new Dictionary <string, object>
            {
                [BET_IDS]           = betIds,
                [MARKET_IDS]        = marketIds,
                [ORDER_PROJECTION]  = orderProjection,
                [PLACED_DATE_RANGE] = placedDateRange,
                [DATE_RANGE]        = dateRange,
                [ORDER_BY]          = orderBy,
                [SORT_DIR]          = sortDir,
                [FROM_RECORD]       = fromRecord,
                [RECORD_COUNT]      = recordCount
            };

            return(networkClient.Invoke <CurrentOrderSummaryReport>(Endpoint.Betting, LIST_CURRENT_ORDERS_METHOD, args));
        }
Пример #2
0
 public static MarketListenerLiveData Create(BetfairClient client,
                                             PriceProjection priceProjection,
                                             OrderProjection?orderProjection          = null,
                                             MatchProjection?matchProjection          = null,
                                             Action <System.Exception, string> logger = null)
 {
     return(new MarketListenerLiveData(client, priceProjection, orderProjection, matchProjection, logger));
 }
Пример #3
0
 public IList<MarketBook> listMarketBook(IList<string> marketIds, PriceProjection priceProjection, OrderProjection? orderProjection = null, MatchProjection? matchProjection = null, string currencyCode = null, string locale = null)
 {
     var args = new Dictionary<string, object>();
     args[MARKET_IDS]= marketIds;
     args[PRICE_PROJECTION] = priceProjection;
     args[ORDER_PROJECTION] = orderProjection;
     args[MATCH_PROJECTION] = matchProjection;
     args[LOCALE] = locale;
     args[CURRENCY_CODE] = currencyCode;
     return Invoke<List<MarketBook>>(LIST_MARKET_BOOK_METHOD, args);
 }
Пример #4
0
 private MarketListenerLiveData(BetfairClient client,
                                PriceProjection priceProjection,
                                OrderProjection?orderProjection,
                                MatchProjection?matchProjection,
                                Action <System.Exception, string> logger)
 {
     _client          = client;
     _priceProjection = priceProjection;
     _orderProjection = orderProjection;
     _matchProjection = matchProjection;
     _logger          = logger;
 }
Пример #5
0
 public BetfairServerResponse <List <MarketBook> > ListMarketBook(
     IEnumerable <string> marketIds,
     PriceProjection priceProjection = null,
     OrderProjection?orderProjection = null,
     MatchProjection?matchProjection = null)
 {
     return(client.ListMarketBook(
                marketIds,
                priceProjection,
                orderProjection,
                matchProjection).Result);
 }
Пример #6
0
        public Task <BetfairServerResponse <List <MarketBook> > > ListMarketBook(
            IEnumerable <string> marketIds,
            PriceProjection priceProjection = null,
            OrderProjection?orderProjection = null,
            MatchProjection?matchProjection = null)
        {
            var args = new Dictionary <string, object>();

            args[MARKET_IDS]       = marketIds;
            args[PRICE_PROJECTION] = priceProjection;
            args[ORDER_PROJECTION] = orderProjection;
            args[MATCH_PROJECTION] = matchProjection;
            return(networkClient.Invoke <List <MarketBook> >(Endpoint.Betting, LIST_MARKET_BOOK_METHOD, args));
        }
Пример #7
0
        public CurrentOrderSummaryReport listCurrentOrders(ISet<String> betIds, ISet<String> marketIds, OrderProjection? orderProjection = null, TimeRange placedDateRange = null, OrderBy? orderBy = null, SortDir? sortDir = null, int? fromRecord = null, int? recordCount = null)
        {
            var args = new Dictionary<string, object>();
            args[BET_IDS] = betIds;
            args[MARKET_IDS] = marketIds;
            args[ORDER_PROJECTION] = orderProjection;
            args[PLACED_DATE_RANGE] = placedDateRange;
            args[ORDER_BY] = orderBy;
            args[SORT_DIR] = sortDir;
            args[FROM_RECORD] = fromRecord;
            args[RECORD_COUNT] = recordCount;

            return Invoke<CurrentOrderSummaryReport>(LIST_CURRENT_ORDERS_METHOD, args);
        }
Пример #8
0
        public Task <BetfairServerResponse <List <MarketBook> > > ListMarketBook(
            IEnumerable <string> mIds,
            PriceProjection priceProjection = null,
            OrderProjection?orderProjection = null,
            MatchProjection?matchProjection = null)
        {
            var bsr = new BetfairServerResponse <List <MarketBook> >();

            bsr.RequestStart = DateTime.Now;
            bsr.LastByte     = DateTime.Now;
            bsr.LatencyMS    = 0L;
            bsr.HasError     = false;
            bsr.Response     = bf.GetMarketBookResponse(mIds);

            return(Task.Run(() => bsr));
        }
Пример #9
0
 public BetfairServerResponse <CurrentOrderSummaryReport> ListCurrentOrders(
     ISet <string> betIds            = null,
     ISet <string> marketIds         = null,
     OrderProjection?orderProjection = null,
     TimeRange placedDateRange       = null,
     TimeRange dateRange             = null,
     OrderBy?orderBy = null,
     SortDir?sortDir = null,
     int?fromRecord  = null,
     int?recordCount = null)
 {
     return(client.ListCurrentOrders(
                betIds,
                marketIds,
                orderProjection,
                placedDateRange,
                dateRange,
                orderBy,
                sortDir,
                fromRecord,
                recordCount).Result);
 }
Пример #10
0
        public IList <MarketBook> ListMarketBook(List <string> marketIds, PriceProjection priceProjection, OrderProjection?orderProjection, MatchProjection?matchProjection, string currencyCode = null)
        {
            marketIds.IfNull(x => { throw new ArgumentException("marketIds"); });

            var result = new List <MarketBook>();

            var st = new Stopwatch();

            st.Start();

            var tasks = new List <Task>();

            tasks.AddRange(marketIds.Split(40)
                           .AsParallel()
                           .WithExecutionMode(ParallelExecutionMode.ForceParallelism).Select(marketIdsSplit =>
                                                                                             Task.Factory.StartNew(
                                                                                                 state =>
            {
                var request = new JsonRequest
                {
                    Id     = 1,
                    Method = LIST_MARKET_BOOK,
                    Params = new { marketIds = marketIdsSplit, priceProjection, orderProjection, matchProjection, currencyCode }
                };
                try
                {
                    var invokeResult = Invoke <IList <MarketBook> >(request);

                    lock (Lock)
                    {
                        result.AddRange(invokeResult);
                    }
                }
                catch (System.Exception e)
                {
                    Console.WriteLine(e.InnerException);
                }
            }, marketIdsSplit)));

            try
            {
                Task.WaitAll(tasks.ToArray(), 10000);
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.InnerException);
            }

            st.Stop();

            return(result);
        }