Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
            }
        }