Пример #1
0
        public async Task <SubmitOrderInfo> SubmitOrderAsync(string market, OrderType orderType, decimal amount, decimal price)
        {
            Requires.NotNull(Settings, nameof(Settings));
            var endpoint = ApiEndpoints.SubmitOrder_Endpoint();
            var strategy = new TradeSatoshiRequestCreationStrategy();
            var jsonObj  = new JObject();

            jsonObj.Add("Market", market);
            jsonObj.Add("OrderType", Enum.GetName(typeof(OrderType), orderType));
            jsonObj.Add("Amount", amount);
            jsonObj.Add("Price", price);
            var result = await _client.PostAsync <TradeSatoshiResponse <SubmitOrderInfo> >(endpoint.Uri, strategy, JsonConvert.SerializeObject(jsonObj));

            ValidateResponse(result);
            return(result.Data);
        }
Пример #2
0
        /// <summary>
        /// Cancels a submitted order
        /// </summary>
        /// <param name="cancelType">The cancel type, options: 'Single','Market','MarketBuys','MarketSells','AllBuys','AllSells','All'(required)</param>
        /// <param name="orderId">The order to cancel(required if cancel type 'Single')</param>
        /// <param name="market">The order to cancel(required if cancel type 'Market','MarketBuys','MarketSells')</param>
        /// <returns></returns>
        public async Task <CancelOrderInfo> CancelOrderAsync(CancelType cancelType, int?orderId, string market = null)
        {
            Requires.NotNull(Settings, nameof(Settings));
            var endpoint = ApiEndpoints.SubmitOrder_Endpoint();
            var strategy = new TradeSatoshiRequestCreationStrategy();
            var jsonObj  = new JObject();

            jsonObj.Add("Type", Enum.GetName(typeof(CancelType), cancelType));
            if (orderId.HasValue)
            {
                jsonObj.Add("OrderId", orderId);
            }
            if (!string.IsNullOrWhiteSpace(market))
            {
                jsonObj.Add("Market", market);
            }
            var result = await _client.PostAsync <TradeSatoshiResponse <CancelOrderInfo> >(endpoint.Uri, strategy, JsonConvert.SerializeObject(jsonObj));

            ValidateResponse(result);
            return(result.Data);
        }