private void ShowExchangeRate() { try { CurrencyConverter cc = new CurrencyConverter(); cc.AdjustToLocalTime = false; // Add a proxy here is needed. Example: // cc.Proxy = new System.Net.WebProxy("0.0.0.0", 80); CurrencyData cd = cc.GetCurrencyData("SGD", "MMK"); lbl_ExchangeRate.Text = String.Format("1 SGD = {0} Kyats", (cd.Rate - 7).ToString("C0").Replace("$", "").Replace("RM", "").Replace("¥", "")); lbl_checkon.Text = "based on Yahoo! Finance"; } catch (Exception ex) { lbl_checkon.Text = "Service unavailable :("; } }
private double ConvertValue(double value, string currencyOrigine, string currencyDestination, int nbRetry) { if (currencyDestination == currencyOrigine) return value; try { CurrencyConverter myCurrencyConverter = new CurrencyConverter(); CurrencyData cd = new CurrencyData(currencyOrigine, currencyDestination); // Creates new structure and set Base currency // to Euro and Target to Russian Ruble myCurrencyConverter.GetCurrencyData(ref cd); double newValue = value * cd.Rate; newValue = Math.Round(newValue, 2, MidpointRounding.AwayFromZero); return newValue; } catch (Exception ex) { if (nbRetry < ServiceParametersHelper.nbAPIRetry()) this.ConvertValue(value,currencyOrigine,currencyDestination, nbRetry+1); else throw ex; } return value; }