コード例 #1
0
        public static ECurrency ToSourceCurrency(this EConversion conversion)
        {
            switch (conversion)
            {
            case EConversion.KrwgBtc:
            case EConversion.KrwgUsdg:
                return(ECurrency.KRWG);

            case EConversion.UsdgKrwg:
            case EConversion.UsdgBtc:
                return(ECurrency.USDG);

            case EConversion.BtcKrwg:
            case EConversion.BtcUsdg:
            case EConversion.BtcsUsdcg:
                return(ECurrency.BTC);

            case EConversion.sUsdcgBtc:
                return(ECurrency.sUSDCG);

            default:
                throw new ArgumentOutOfRangeException($"No corresponding source currency for {conversion}.");
            }
        }
コード例 #2
0
 public static bool IsSourceCurrencyBtc(this EConversion conversion)
 {
     return(conversion.ToSourceCurrency() == ECurrency.BTC);
 }
コード例 #3
0
ファイル: ExchangeClient.cs プロジェクト: gluwa/Gluwa-DotNet
        /// <summary>
        /// Get current order book.
        /// </summary>
        /// <param name="conversion">Conversion symbol.</param>
        /// <param name="limit">Number of orders to include in the result. Ordered by descending price (best price first). Defaults to 100, maximum of 1000.</param>
        /// <response code="200">List of active orders</response>
        /// <response code="400">Invalid request parameters.</response>
        /// <returns></returns>
        public async Task <Result <List <GetOrderBookResponse>, ErrorResponse> > GetOrderBook(EConversion conversion, uint limit = 100)
        {
            var    result     = new Result <List <GetOrderBookResponse>, ErrorResponse>();
            string requestUri = $"{mEnv.BaseUrl}/v1/OrderBook/{conversion}";

            List <string> queryParams = new List <string>();

            queryParams.Add($"limit={limit}");

            if (queryParams.Any())
            {
                requestUri = $"{requestUri}?{string.Join("&", queryParams)}";
            }

            try
            {
                using (HttpClient httpClient = new HttpClient())
                {
                    using (HttpResponseMessage response = await httpClient.GetAsync(requestUri))
                    {
                        if (response.IsSuccessStatusCode)
                        {
                            List <GetOrderBookResponse> orderBookResponse = await response.Content.ReadAsAsync <List <GetOrderBookResponse> >();

                            result.IsSuccess = true;
                            result.Data      = orderBookResponse;

                            return(result);
                        }

                        string contentString = await response.Content.ReadAsStringAsync();

                        result.Error = ResponseHandler.GetError(response.StatusCode, requestUri, contentString);
                    }
                }
            }
            catch (HttpRequestException)
            {
                result.IsSuccess = false;
                result.Error     = ResponseHandler.GetExceptionError();
            }

            return(result);
        }