private void OnFxRatesRequestCompleted(object sendser, GetCursOnDateCompletedEventArgs e) { DataTable fxrates = e.Result.Tables["ValuteCursOnDate"]; List<FxRate> rates = new List<FxRate>(); foreach (DataRow r in fxrates.Rows) { string Vname = r["Vname"] as string; Vname = Vname.Trim(); decimal Vnom = (r["Vnom"] as decimal?).Value; decimal Vcurs = (r["Vcurs"] as decimal?).Value; int Vcode = (r["Vcode"] as int?).Value; string VchCode = r["VchCode"] as string; rates.Add(new FxRate(VchCode, Vcurs)); } lock (m_lock) { FXRates = rates; m_rates = new Dictionary<string, FxRate>(); foreach (FxRate rate in FXRates) m_rates.Add(rate.CCY, rate); } }
void _cbrClient_GetCursOnDateCompleted(object sender, GetCursOnDateCompletedEventArgs e) { LastQueriedRate = ExtractCurrencyRate(e.Result, (string)e.UserState); }