public async Task <IActionResult> Order(int bookId) { String token = orderBookToken; if (token == null) { var payment = await getToken( new DateRange(DateTime.Today, DateTime.Today.AddDays(2.0)), "OrderBook"); if (payment is ErrorViewModel) { return(View("~/Views/Shared/Error.cshtml", payment)); } token = payment as String; } LibraryServiceSoapClient.EndpointConfiguration endpointConfiguration = LibraryServiceSoapClient.EndpointConfiguration.LibraryServiceSoap; var client = new LibraryServiceSoapClient(endpointConfiguration); var request = new OrderBookRequest(); request.Body = new OrderBookRequestBody(defaultToken, bookId); var result = await client.OrderBookAsync(defaultToken, bookId); if (result.Body.OrderBookResult == false) { return(View("Error")); } return(Redirect("AllBooks")); }
public void SubscribeL2(string symbol) { OrderBookRequest l2 = new OrderBookRequest { Action = ActionType.Subscribe, Channel = ChannelType.L2, Symbol = symbol }; AddMessageToQueue(l2); }
public void UnsubscribeL3(string symbol) { OrderBookRequest l3 = new OrderBookRequest { Action = ActionType.Unsubscribe, Channel = ChannelType.L3, Symbol = symbol }; AddMessageToQueue(l3); }
public async Task <IActionResult> Order(int bookId) { LibraryServiceSoapClient.EndpointConfiguration endpointConfiguration = LibraryServiceSoapClient.EndpointConfiguration.LibraryServiceSoap; var client = new LibraryServiceSoapClient(endpointConfiguration); var request = new OrderBookRequest(); request.Body = new OrderBookRequestBody(token, bookId); var result = await client.OrderBookAsync(request); if (result.Body.OrderBookResult == false) { return(View("Error")); } return(Redirect("AllBooks")); }
public async Task <OrderBook> GetOrderBookAsync(OrderBookRequest request) { return(await this.httpClient.GetAsync <OrderBook>($"{baseUrl}/api/v1/depth{Query(request)}")); }
public OrderBook GetOrderBook(OrderBookRequest request) => GetOrderBookAsync(request).GetAwaiter().GetResult();
public Task <CurrencyPairDictionary <OrderBook> > GetOrderBookAsync(OrderBookRequest request, CancellationToken cancellationToken = default) { return(_client.PostAsync <CurrencyPairDictionary <OrderBook> >("order_book", request, cancellationToken)); }
public async Task <OrderBookResponse> GetOrderBook(OrderBookRequest request) { return(await GetResult <OrderBookResponse>(PublicApiCall.GetOrderBook, GetQueryString((object)request))); }
public async Task GetOrderBook() { _fakeHttpMessageHandler.HandleRequestAsync = TestHelper.HandleContent(form => { Assert.Equal("BTC_USD,ETH_USD", form["pair"]); Assert.Equal("100", form["limit"]); }); _fakeHttpMessageHandler.ResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent("{\"BTC_USD\":{\"ask_quantity\":\"235.41991633\",\"ask_amount\":\"3088819.24758049\",\"ask_top\":\"6610\",\"bid_quantity\":\"12611.67298966\",\"bid_amount\":\"893817.34468224\",\"bid_top\":\"6606.44420123\",\"ask\":[[\"6610\",\"0.00810449\",\"53.5706789\"],[\"6618.219999\",\"0.00035049\",\"2.31961992\"]],\"bid\":[[\"6606.44420123\",\"0.69964951\",\"4622.19544823\"],[\"6606.44420023\",\"0.035\",\"231.225547\"]]},\"ETH_USD\":{\"ask_quantity\":\"4478.66555066\",\"ask_amount\":\"3220720.74282515\",\"ask_top\":\"137.59999989\",\"bid_quantity\":\"12463.56016804\",\"bid_amount\":\"248035.82535663\",\"bid_top\":\"136.83096645\",\"ask\":[[\"137.59999989\",\"28\",\"3852.79999692\"],[\"137.5999999\",\"0.22542189\",\"31.01805204\"]],\"bid\":[[\"136.83096645\",\"2.648\",\"362.32839915\"],[\"136.83096644\",\"4\",\"547.32386576\"]]}}") }; var request = new OrderBookRequest { Pairs = new CurrencyPairCollection("BTC_USD", "ETH_USD"), Limit = 100 }; var orderBook = await _publicApi.GetOrderBookAsync(request); Assert.Equal(new CurrencyPair[] { "BTC_USD", "ETH_USD" }, orderBook.Keys); var btcUsd = orderBook["BTC_USD"]; Assert.Equal(235.41991633m, btcUsd.AskQuantity); Assert.Equal(3088819.24758049m, btcUsd.AskAmount); Assert.Equal(6610m, btcUsd.AskTop); Assert.Equal(12611.67298966m, btcUsd.BidQuantity); Assert.Equal(893817.34468224m, btcUsd.BidAmount); Assert.Equal(6606.44420123m, btcUsd.BidTop); Assert.Equal(6610m, btcUsd.Ask[0].Price); Assert.Equal(0.00810449m, btcUsd.Ask[0].Quantity); Assert.Equal(53.5706789m, btcUsd.Ask[0].Amount); Assert.Equal(6618.219999m, btcUsd.Ask[1].Price); Assert.Equal(0.00035049m, btcUsd.Ask[1].Quantity); Assert.Equal(2.31961992m, btcUsd.Ask[1].Amount); Assert.Equal(6606.44420123m, btcUsd.Bid[0].Price); Assert.Equal(0.69964951m, btcUsd.Bid[0].Quantity); Assert.Equal(4622.19544823m, btcUsd.Bid[0].Amount); Assert.Equal(6606.44420023m, btcUsd.Bid[1].Price); Assert.Equal(0.035m, btcUsd.Bid[1].Quantity); Assert.Equal(231.225547m, btcUsd.Bid[1].Amount); var ethUsd = orderBook["ETH_USD"]; Assert.Equal(4478.66555066m, ethUsd.AskQuantity); Assert.Equal(3220720.74282515m, ethUsd.AskAmount); Assert.Equal(137.59999989m, ethUsd.AskTop); Assert.Equal(12463.56016804m, ethUsd.BidQuantity); Assert.Equal(248035.82535663m, ethUsd.BidAmount); Assert.Equal(136.83096645m, ethUsd.BidTop); Assert.Equal(137.59999989m, ethUsd.Ask[0].Price); Assert.Equal(28m, ethUsd.Ask[0].Quantity); Assert.Equal(3852.79999692m, ethUsd.Ask[0].Amount); Assert.Equal(137.5999999m, ethUsd.Ask[1].Price); Assert.Equal(0.22542189m, ethUsd.Ask[1].Quantity); Assert.Equal(31.01805204m, ethUsd.Ask[1].Amount); Assert.Equal(136.83096645m, ethUsd.Bid[0].Price); Assert.Equal(2.648m, ethUsd.Bid[0].Quantity); Assert.Equal(362.32839915m, ethUsd.Bid[0].Amount); Assert.Equal(136.83096644m, ethUsd.Bid[1].Price); Assert.Equal(4m, ethUsd.Bid[1].Quantity); Assert.Equal(547.32386576m, ethUsd.Bid[1].Amount); }