public ExchangeRateList GetExchangeRates() { if (!IsValidXml) { return(null); } try { XmlDocument doc = new XmlDocument(); doc.LoadXml(_xml); var extracted = doc["CompactData"]["Header"]["Extracted"].InnerText; var dataset = doc["CompactData"]["DataSet"]; var group = dataset["Group"]; var exchangeRateList = new ExchangeRateList { Currency = group.GetAttribute("CURRENCY"), CurrencyDenominator = group.GetAttribute("CURRENCY_DENOM"), Unit = group.GetAttribute("UNIT"), Title = group.GetAttribute("TITLE_COMPL"), Extracted = DateTime.Parse(extracted), }; foreach (XmlElement exchangeRate in dataset["Series"]) { var timestamp = exchangeRate.GetAttribute("TIME_PERIOD"); var value = exchangeRate.GetAttribute("OBS_VALUE"); exchangeRateList.Add(new ExchangeRate { Timestamp = DateTime.Parse(timestamp), Value = decimal.Parse(value, NumberStyles.Any, CultureInfo.InvariantCulture) }); } return(exchangeRateList); } catch { return(null); } }
internal static ExchangeRateList getExchangeRateList(HttpResponseMessage response) { var rateList = new ExchangeRateList(); var jsonObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(response.Content.ReadAsStringAsync().Result); if (jsonObj.ContainsKey("exchange_rates")) { var ratesArray = JsonConvert.DeserializeObject<List<object>>(jsonObj["exchange_rates"].ToString()); foreach(var rateObj in ratesArray) { var rate = new ExchangeRate(); rate = JsonConvert.DeserializeObject<ExchangeRate>(rateObj.ToString()); rateList.Add(rate); } } if (jsonObj.ContainsKey("page_context")) { var pageContext = new PageContext(); pageContext = JsonConvert.DeserializeObject<PageContext>(jsonObj["page_context"].ToString()); rateList.page_context = pageContext; } return rateList; }
internal static ExchangeRateList getExchangeRateList(HttpResponseMessage response) { var rateList = new ExchangeRateList(); var jsonObj = JsonConvert.DeserializeObject <Dictionary <string, object> >(response.Content.ReadAsStringAsync().Result); if (jsonObj.ContainsKey("exchange_rates")) { var ratesArray = JsonConvert.DeserializeObject <List <object> >(jsonObj["exchange_rates"].ToString()); foreach (var rateObj in ratesArray) { var rate = new ExchangeRate(); rate = JsonConvert.DeserializeObject <ExchangeRate>(rateObj.ToString()); rateList.Add(rate); } } if (jsonObj.ContainsKey("page_context")) { var pageContext = new PageContext(); pageContext = JsonConvert.DeserializeObject <PageContext>(jsonObj["page_context"].ToString()); rateList.page_context = pageContext; } return(rateList); }
public ExchangeRateAnalyser(ExchangeRateList list) { _list = list; }