override public string read() { UrlParams par = parser.parsePostBody(postbody); JSONRateObj obj = new JSONRateObj(); try { var items = di.GetCursOnDate(par.Date).Tables[0]; for (int i = 0; i < items.Rows.Count; i++) { if ((String)items.Rows[i].ItemArray.GetValue(4) == par.Code) { obj.name = items.Rows[i].ItemArray.GetValue(0).ToString().Trim(); obj.nominal = (Decimal)items.Rows[i].ItemArray.GetValue(1); obj.rate = (Decimal)items.Rows[i].ItemArray.GetValue(2); obj.numcode = (int)items.Rows[i].ItemArray.GetValue(3); obj.charcode = (String)items.Rows[i].ItemArray.GetValue(4); obj.date = par.Date.ToShortDateString(); break; } } } catch (Exception e) { obj.date = par.Date.ToShortDateString(); obj.charcode = par.Code; obj.name = ""; obj.nominal = 1; obj.rate = 0; obj.numcode = 0; } return(js.Serialize(obj)); }
public List <CurrencyModel> GetCursOnDate(DateTime date, string[] Codes) { DataSet courses = _DIClient.GetCursOnDate(date); DataTable dtTable = courses.Tables["ValuteCursOnDate"]; List <CurrencyModel> ratesList = dtTable.DataTableToList <CurrencyModel>(); ratesList = ratesList.Where(x => Array.Exists(Codes, c => c == x.Vcode)).ToList(); return(ratesList); }
public static decimal GetExchangeRate(string CurrancyCode) { DailyInfo l_info = new DailyInfo(); DataSet l_data = l_info.GetCursOnDate(DateTime.Now.Date); DataTable l_tbl = l_data.Tables["ValuteCursOnDate"]; decimal l_res = (from row in l_tbl.AsEnumerable() where row.Field <string>("VchCode") == CurrancyCode select row.Field <decimal>("Vcurs") / row.Field <decimal>("Vnom")).First <decimal>(); return(l_res); }
public static void UpdateCurrenciesFromCentralBank() { var di = new DailyInfo(); DataSet ds = di.GetCursOnDate(DateTime.Today); try { using (var db = new SQLDataAccess()) { db.cmd.CommandText = "SELECT CurrencyIso3 FROM Catalog.Currency"; db.cmd.CommandType = CommandType.Text; db.cmd.Parameters.Clear(); using (var dbUpd = new SQLDataAccess()) { dbUpd.cmd.CommandText = "UPDATE Catalog.Currency SET CurrencyValue=@CurrencyValue, CurrencyNumIso3=@CurrencyNumIso3 WHERE CurrencyIso3=@CurrencyIso3"; dbUpd.cmd.CommandType = CommandType.Text; db.cnOpen(); using (SqlDataReader read = db.cmd.ExecuteReader()) { while (read.Read()) { foreach (DataRow row in ds.Tables["ValuteCursOnDate"].Rows) { if (read["CurrencyIso3"].ToString().ToLower() != row["VchCode"].ToString().ToLower()) { continue; } dbUpd.cmd.Parameters.Clear(); dbUpd.cmd.Parameters.AddWithValue("@CurrencyValue", Convert.ToDecimal(row["Vcurs"]) / Convert.ToDecimal(row["Vnom"])); dbUpd.cmd.Parameters.AddWithValue("@CurrencyIso3", row["VchCode"].ToString()); dbUpd.cmd.Parameters.AddWithValue("@CurrencyNumIso3", row["VCode"].ToString()); dbUpd.cnOpen(); dbUpd.cmd.ExecuteNonQuery(); dbUpd.cnClose(); } } read.Close(); } } db.cnClose(); } } catch (Exception ex) { Debug.LogError(ex); } }
public static void UpdateCurrenciesFromCentralBank() { var di = new DailyInfo(); DataSet ds = di.GetCursOnDate(DateTime.Today); try { using (var db = new SQLDataAccess()) { db.cmd.CommandText = "SELECT CurrencyIso3 FROM Catalog.Currency"; db.cmd.CommandType = CommandType.Text; db.cmd.Parameters.Clear(); using (var dbUpd = new SQLDataAccess()) { dbUpd.cmd.CommandText = "UPDATE Catalog.Currency SET CurrencyValue=@CurrencyValue, CurrencyNumIso3=@CurrencyNumIso3 WHERE CurrencyIso3=@CurrencyIso3"; dbUpd.cmd.CommandType = CommandType.Text; db.cnOpen(); using (SqlDataReader read = db.cmd.ExecuteReader()) { while (read.Read()) { foreach (DataRow row in ds.Tables["ValuteCursOnDate"].Rows) { if (read["CurrencyIso3"].ToString().ToLower() != row["VchCode"].ToString().ToLower()) continue; dbUpd.cmd.Parameters.Clear(); dbUpd.cmd.Parameters.AddWithValue("@CurrencyValue", SQLDataHelper.GetDecimal(row["Vcurs"]) / SQLDataHelper.GetDecimal(row["Vnom"])); dbUpd.cmd.Parameters.AddWithValue("@CurrencyIso3", row["VchCode"].ToString()); dbUpd.cmd.Parameters.AddWithValue("@CurrencyNumIso3", row["VCode"].ToString()); dbUpd.cnOpen(); dbUpd.cmd.ExecuteNonQuery(); dbUpd.cnClose(); } } read.Close(); } } db.cnClose(); } } catch (Exception ex) { Debug.LogError(ex); } }