Esempio n. 1
0
        public ListaTasaCambio GetListaTasaCambio(TasaCambio item)
        {
            var listado    = new ListaTasaCambio();
            var parametros = new SqlParameterItem("@pResultado", SqlDbType.Int, 0);

            InicializarConexion(TipoBaseDatos.MainSoft);
            var reader = helper.ExecuteReader("[usp_TasaCambio_DameUltimaTasaCambio]", parametros);

            listado.ListaTasaCambios = new List <TasaCambio>();
            //float x;
            while (reader.Read())
            {
                listado.ListaTasaCambios.Add(new TasaCambio()
                {
                    IdTasaCambio = reader.GetInt32(reader.GetOrdinal("IdTasaCambio")),
                    IdMoneda     = Convert.ToInt32(reader.GetOrdinal("IdMoneda")),
                    TasaDeCambio = reader.GetDouble(reader.GetOrdinal("TasaCambio")),
                    EsFix        = reader.GetBoolean(reader.GetOrdinal("EsFix")),
                    FechaCambio  = reader.GetDateTime(reader.GetOrdinal("FechaCambio"))
                });
                //var x = reader.GetDateTime(reader.GetOrdinal("FechaCambio"));
            }
            reader.Close();
            return(listado);
        }
Esempio n. 2
0
        public ListaTasaCambio GetListTasaCambio(TasaCambio item)
        {
            var response = new ListaTasaCambio();

            using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.Required))
            {
                response = iTasaCambioRepositorio.GetListaTasaCambio(item);
                for (var i = 0; i < response.ListaTasaCambios.Count; i++)
                {
                    switch (response.ListaTasaCambios[i].IdMoneda)
                    {
                    case 35:
                        if (response.ListaTasaCambios[i].EsFix)
                        {
                            response.ListaTasaCambios[i].EnumeradoresTipoCambio =
                                EnumeradoresTipoCambio.DolarFIX;
                        }
                        else
                        {
                            response.ListaTasaCambios[i].EnumeradoresTipoCambio = EnumeradoresTipoCambio.Dolar;
                        }
                        break;
                    }
                }
                if (response.ListaTasaCambios == null)
                {
                    response = GenerarCambioMoneda();

                    for (var i = 0; i < response.ListaTasaCambios.Count; i++)
                    {
                        response.ListaTasaCambios[i] = iTasaCambioRepositorio.InsertarTasaCambio(response.ListaTasaCambios[i]);
                    }
                }
                transaction.Complete();
            }
            return(response);
        }
Esempio n. 3
0
        private ListaTasaCambio GenerarXml(string response)
        {
            XmlDocument documento = new XmlDocument();

            documento.LoadXml(response);
            XmlNodeList ser = documento.GetElementsByTagName("bm:DataSet");

            var monedas = new ListaTasaCambio();

            monedas.ListaTasaCambios = new List <TasaCambio>();
            XmlNodeList lista = ((XmlElement)ser[0]).GetElementsByTagName("bm:Series");

            foreach (XmlElement nodobase in lista)
            {
                string nserie = nodobase.GetAttribute("IDSERIE");
                if (nserie == "SF43718")
                {
                    var moneda = new TasaCambio();
                    moneda.Serie = "SF43718";
                    moneda.EnumeradoresTipoCambio = EnumeradoresTipoCambio.DolarFIX;
                    moneda.EsFix    = true;
                    moneda.IdMoneda = GetIdMoneda(EnumeradoresTipoCambio.Dolar);
                    XmlNodeList uno = ((XmlElement)lista[1]).GetElementsByTagName("bm:Obs");
                    foreach (XmlElement nodo in uno)
                    {
                        moneda.TasaDeCambio = (float)Convert.ToDecimal(nodo.GetAttribute("OBS_VALUE"));
                        moneda.FechaCambio  = Convert.ToDateTime(nodo.GetAttribute("TIME_PERIOD"));
                    }
                    monedas.ListaTasaCambios.Add(moneda);
                }
                if (nserie == "SF46410")
                {
                    var         moneda = new TasaCambio();
                    XmlNodeList dos    = ((XmlElement)lista[2]).GetElementsByTagName("bm:Obs");
                    moneda.Serie = "SF46410";
                    moneda.EnumeradoresTipoCambio = EnumeradoresTipoCambio.Euro;
                    moneda.IdMoneda = GetIdMoneda(EnumeradoresTipoCambio.Euro);
                    foreach (XmlElement nodo in dos)
                    {
                        moneda.TasaDeCambio = (float)Convert.ToDecimal(nodo.GetAttribute("OBS_VALUE"));
                        moneda.FechaCambio  = Convert.ToDateTime(nodo.GetAttribute("TIME_PERIOD"));
                        monedas.ListaTasaCambios.Add(moneda);
                    }
                }
                if (nserie == "SF60653")
                {
                    var         moneda = new TasaCambio();
                    XmlNodeList dos    = ((XmlElement)lista[0]).GetElementsByTagName("bm:Obs");
                    moneda.Serie    = "SF60653";
                    moneda.IdMoneda = GetIdMoneda(EnumeradoresTipoCambio.Dolar);
                    moneda.EnumeradoresTipoCambio = EnumeradoresTipoCambio.Dolar;
                    foreach (XmlElement nodo in dos)
                    {
                        moneda.TasaDeCambio = (float)Convert.ToDecimal(nodo.GetAttribute("OBS_VALUE"));
                        moneda.FechaCambio  = Convert.ToDateTime(nodo.GetAttribute("TIME_PERIOD"));
                        monedas.ListaTasaCambios.Add(moneda);
                    }
                }
            }
            return(monedas);
        }