From 725e80feb2590620a1a06764eddd5d64796af020 Mon Sep 17 00:00:00 2001 From: gMahomed Date: Tue, 26 Jan 2021 14:12:49 +0200 Subject: [PATCH] Getting All Available Currencies --- GradDemo.Api/Controllers/CryptoController.cs | 9 +++++++++ GradDemo.Api/Providers/CoinGeckoProvider.cs | 21 +++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/GradDemo.Api/Controllers/CryptoController.cs b/GradDemo.Api/Controllers/CryptoController.cs index cdbca2f..cdad76f 100644 --- a/GradDemo.Api/Controllers/CryptoController.cs +++ b/GradDemo.Api/Controllers/CryptoController.cs @@ -44,5 +44,14 @@ public async Task> GetCoin(string coinId, string cu return Response.Error("Something went wrong"); } + + [HttpGet("available/currencies")] + public async Task GetCurrencies() + { + + var res = await _coinGeckoProvider.GetAllCurrencies(); + + return res; + } } } diff --git a/GradDemo.Api/Providers/CoinGeckoProvider.cs b/GradDemo.Api/Providers/CoinGeckoProvider.cs index 7885a9b..d6b8604 100644 --- a/GradDemo.Api/Providers/CoinGeckoProvider.cs +++ b/GradDemo.Api/Providers/CoinGeckoProvider.cs @@ -1,4 +1,5 @@ -using GradDemo.Api.Models.CoinGecko; +using GradDemo.Api.Models; +using GradDemo.Api.Models.CoinGecko; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -43,5 +44,23 @@ public CoinGeckoProvider(string baseUrl) return null; } + + public async Task GetAllCurrencies() + { + + string url = "api/v3/simple/supported_vs_currencies"; + HttpResponseMessage response = await client.GetAsync(url); + if (response.IsSuccessStatusCode) + { + string res = await response.Content.ReadAsStringAsync(); + + var coinGeckoResult = JsonConvert.DeserializeObject(res); + + + return coinGeckoResult; + } + + return null; + } } }