public LastStockQuote GetLatestQuoteForStock(string url, string ticker, string apiKey) { var lastQuote = new LastStockQuote(); var quoteInJsonFormat = GetLatestQuoteForStock(ticker, apiKey); ParseAndMapLastPriceForStock(quoteInJsonFormat.Result, lastQuote); /* * var completeUrl = $"{url}&symbol={ticker}&apikey={apiKey}"; * var client = new System.Net.WebClient(); * dynamic jsonData = JsonSerializer.Deserialize<Dictionary<string, dynamic>>(client.DownloadString(completeUrl)); * ParseGlobalQuote(jsonData); */ return(lastQuote); }
private void ParseAndMapLastPriceForStock(string stockQuote, LastStockQuote lastQuote) { try { const string globalQuoteKey = "Global Quote"; const string ticker = "01. symbol"; const string price = "05. price"; if (!string.IsNullOrEmpty(stockQuote)) { var response = JObject.Parse(stockQuote); var globalQuote = response[globalQuoteKey].ToObject <Dictionary <string, string> >(); lastQuote.Symbol = globalQuote[ticker]; lastQuote.Price = Convert.ToDecimal(globalQuote[price]); } } catch (Exception ex) { //log exception and continue } }