/// <summary> /// Gets a response from the FixerAPI /// </summary> private void GetData() { fail = false; var client = new WebClient(); try { //Rates are all in base EURO for the free api var address = "http://data.fixer.io/api/latest?access_key=" + Settings.GetFixer_Key(); var data = client.OpenRead(address); var reader = new StreamReader(data); var jsonText = reader.ReadToEnd(); _response = JsonConvert.DeserializeObject <FixerResponse>(jsonText); if (_response.success == false) { Logger.WriteLine("Fixer Error " + _response.error.code + " : " + _response.error.info); fail = true; } Logger.WriteLine("Updated Fiat Rates from Fixer"); } catch (Exception e) { Logger.WriteLine(e.Message); } }
/// <summary> /// Creates an entry from the Fixer API response /// </summary> private FixerEntry MakeEntry() { FixerResponse response = _response; FixerEntry entry = new FixerEntry(); entry.SetTimeStamp(Utilities.UnixTimestampToString(response.timeStamp)); foreach (var valuation in response.rebasedRates) { entry.AddValuation(valuation.Key, valuation.Value); } return(entry); }