public void Update(string brokerId, OrderBook orderBook)
        {
            var symbol = orderBook.Symbol;

            _orderBooks.Update(brokerId, symbol, orderBook);

            var entity = OrderBookEntity.GenerateEntity(brokerId, orderBook.Symbol);

            entity.OrderBook = orderBook;

            _dataWriter.InsertOrReplaceAsync(entity).GetAwaiter().GetResult();
        }
Exemple #2
0
        // GetOrderBook
        public async Task <OrderBook> GetOrderBook(string currency, TradingPair tradingPair, OrderType orderType, int depth)
        {
            string market = String.Format("{0}_{1}", currency, tradingPair.ToString());

            using (var client = new HttpClient())
            {
                SetHttpClientProperties(client);

                // create the URL string.
                var url = string.Format("api/public/getorderbook?market={0}&type={1}&depth={2}", market, orderType.ToString(), depth);

                // make the request
                var response = await client.GetAsync(url);

                // parse the response and return the data.
                var jsonResponseString = await response.Content.ReadAsStringAsync();

                OrderBookEntity orderBook = new OrderBookEntity();

                try
                {
                    orderBook = JsonConvert.DeserializeObject <OrderBookEntity>(jsonResponseString);
                }
                catch (Exception e)
                {
                    throw new Exception(_ParseError, e);
                }

                // Check success message from server
                if (orderBook.Success == false)
                {
                    throw new Exception(_SuccessError);
                }

                return(orderBook.Result);
            }
        }
Exemple #3
0
        public OrderBookEntity OrderBook(string tenantId, string assetPairId)
        {
            var book = _orderBookDataReader.Get(OrderBookEntity.GeneratePartitionKey(tenantId), OrderBookEntity.GenerateRowKey(assetPairId));

            return(book);
        }