public static bool PullCurrencyNames() { WebClient wc = new WebClient(); var dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(wc.DownloadString(CURRENCY_NAMES_API)); var dc = new ManagementContext(); foreach (var item in dict) { var currency = dc.ExchangeRates.Where(x => x.CurrencyAbbrName == item.Key).FirstOrDefault(); if (currency == null) { CurrencyExchangeRate rate = new CurrencyExchangeRate(); rate.CurrencyAbbrName = item.Key; rate.CurrencyName = item.Value; dc.ExchangeRates.Add(rate); } } int c = dc.SaveChanges(); return c > 0; }
public static bool UpdateCurrencyExchangeRates() { try { PullCurrencyNames(); var dc = new ManagementContext(); WebClient wc = new WebClient(); var dict = JsonConvert.DeserializeObject<ExchangeRateJson>(wc.DownloadString(CURRENCY_EXCHANGE_RATES)); foreach (var item in dict.Rates) { var currency = dc.ExchangeRates.Where(x => x.CurrencyAbbrName == item.Key).FirstOrDefault(); if (currency == null) { CurrencyExchangeRate rate = new CurrencyExchangeRate(); rate.CurrencyAbbrName = item.Key; rate.CurrencyExchangePerUSD = item.Value; dc.ExchangeRates.Add(rate); } else { currency.CurrencyExchangePerUSD = item.Value; } } int c = dc.SaveChanges(); return c > 0; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return false; }