コード例 #1
0
        public async Task <IActionResult> CurrencyDetails(GdaxCurrencyDetailsModel vm)
        {
            ViewData["Message"] = "GDAX Currency Details";
            ViewData["Name"]    = "BTC-USD";
            if (vm.Symbol == null)
            {
                vm.Symbol = "BTC-USD";
            }

            var currencyList = new List <CurrencySymbolModel>
            {
                new CurrencySymbolModel()
                {
                    Display = "BTC/USD",
                    Value   = "BTC-USD"
                },
                new CurrencySymbolModel()
                {
                    Display = "BTC/EUR",
                    Value   = "BTC-EUR"
                }
            };

            ViewBag.CurrencySymbols = new SelectList(currencyList, "Value", "Display");

            var result = await _currencyService.GetProductTicker(vm.Symbol);

            return(View(result));
        }
コード例 #2
0
        public async Task <GdaxCurrencyDetailsModel> GetProductTicker(string productId)
        {
            var result = new GdaxCurrencyDetailsModel()
            {
                Success = false,
                Message = "Failed to get currency details"
            };

            var apiUrl    = _config["ApiKeys:GdaxApiUrl"];
            var tickerUrl = $"{apiUrl}/products/{productId}/ticker";

            using (var _client = new HttpClient())
            {
                _client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                _client.DefaultRequestHeaders.Add("User-Agent", ".NET Framework Test Client");

                var response = await _client.GetStringAsync(tickerUrl);

                if (response.ToString().Contains("trade_id"))
                {
                    result = JsonConvert.DeserializeObject <GdaxCurrencyDetailsModel>(response);

                    result.Success = true;
                    result.Message = "Success";

                    return(result);
                }

                return(result);
            }
        }