Ejemplo n.º 1
0
        private void CreateXmlFiles(DivisaModel divisas)
        {
            var tileXmlGenerator = new TileXmlGenerator();

            foreach (var divisa in divisas.Divisas)
            {
                tileXmlGenerator.GenerateAndSaveXmlFromDivisa(divisa);
            }
        }
        public static DivisaModel GetRofexModel()
        {
            var divisas = new List <DivisaViewModel>();

            HtmlNode html = new Scraper(new Uri("http://www.rofex.com.ar/"), Encoding.UTF7).GetNodes();

            var cierre = html.CssSelect("#cierre_monedas");
            var tabla  = cierre.CssSelect("table tr").Skip(1);

            foreach (var htmlNode in tabla)
            {
                var tds = htmlNode.CssSelect("td").ToArray();

                var nombre    = tds[0];
                var compra    = tds[1];
                var venta     = tds[1];
                var variacion = tds[3];

                divisas.Add(new DivisaViewModel
                {
                    Nombre      = nombre.InnerText,
                    Simbolo     = "U$S",
                    ValorCompra = compra.InnerText.Remove(compra.InnerText.Length - 1),
                    ValorVenta  = venta.InnerText.Remove(venta.InnerText.Length - 1),
                    Variacion   = variacion.InnerText,
                });
            }

            var result = new DivisaModel
            {
                Actualizacion = DateTime.Now,
                Divisas       = divisas,
            };

            return(result);
        }
        public static DivisaModel GetTasasModel()
        {
            var divisas = new List <DivisaViewModel>();

            HtmlNode html = new Scraper(new Uri("http://www.ambito.com/economia/mercados/tasas/"), Encoding.UTF7).GetNodes();

            string ultimo;
            string cierreAnterior;
            string variacion;

            try
            {
                ultimo         = html.CssSelect("div.columna1 div.ultimo big").FirstOrDefault().InnerText;
                cierreAnterior = html.CssSelect("div.columna1 div.cierreAnterior big").FirstOrDefault().InnerText;
                variacion      = html.CssSelect("div.columna1 div.variacion big").FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "BADLAR ENTIDADES PRIVADAS EN $",
                    ValorCompra   = ultimo,
                    ValorVenta    = cierreAnterior,
                    Variacion     = variacion,
                    Actualizacion = DateTime.UtcNow.ToLongDateString(),
                    Simbolo       = "%",
                });
            }
            catch
            {
            }

            try
            {
                ultimo         = html.CssSelect("div.columna2 div.ultimo big").FirstOrDefault().InnerText;
                cierreAnterior = html.CssSelect("div.columna2 div.cierreAnterior big").FirstOrDefault().InnerText;
                variacion      = html.CssSelect("div.columna2 div.variacion big").FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "CALL A 1 DÍA ENTIDADES DE 1º LÍNEA",
                    ValorCompra   = ultimo,
                    ValorVenta    = cierreAnterior,
                    Variacion     = variacion,
                    Actualizacion = DateTime.UtcNow.ToLongDateString(),
                    Simbolo       = "%",
                });
            }
            catch
            {
            }


            try
            {
                ultimo         = html.CssSelect("div.columna3 div.ultimo big").FirstOrDefault().InnerText;
                cierreAnterior = html.CssSelect("div.columna3 div.cierreAnterior big").FirstOrDefault().InnerText;
                variacion      = html.CssSelect("div.columna3 div.variacion big").FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "CALL A 1 DÍA ENTIDADES DE 2º LÍNEA",
                    ValorCompra   = ultimo,
                    ValorVenta    = cierreAnterior,
                    Variacion     = variacion,
                    Actualizacion = DateTime.UtcNow.ToLongDateString(),
                    Simbolo       = "%",
                });
            }
            catch
            {
            }


            try
            {
                ultimo         = html.CssSelect("div.columna1 div.ultimo big").Skip(1).Take(1).FirstOrDefault().InnerText;
                cierreAnterior = html.CssSelect("div.columna1 div.cierreAnterior big").Skip(1).Take(1).FirstOrDefault().InnerText;
                variacion      = html.CssSelect("div.columna1 div.variacion big").Skip(1).Take(1).FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "BAIBAR PROMEDIO PONDERADO EN $",
                    ValorCompra   = ultimo,
                    ValorVenta    = cierreAnterior,
                    Variacion     = variacion,
                    Actualizacion = DateTime.UtcNow.ToLongDateString(),
                    Simbolo       = "%",
                });
            }
            catch
            {
            }

            try
            {
                ultimo         = html.CssSelect("div.columna2 div.ultimo big").Skip(1).Take(1).FirstOrDefault().InnerText;
                cierreAnterior = html.CssSelect("div.columna2 div.cierreAnterior big").Skip(1).Take(1).FirstOrDefault().InnerText;
                variacion      = html.CssSelect("div.columna2 div.variacion big").Skip(1).Take(1).FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "BAIBOR EN $ A 6 MESES",
                    ValorCompra   = ultimo,
                    ValorVenta    = cierreAnterior,
                    Variacion     = variacion,
                    Actualizacion = DateTime.UtcNow.ToLongDateString(),
                    Simbolo       = "%",
                });
            }
            catch
            {
            }


            try
            {
                ultimo         = html.CssSelect("div.columna3 div.ultimo big").Skip(1).Take(1).FirstOrDefault().InnerText;
                cierreAnterior = html.CssSelect("div.columna3 div.cierreAnterior big").Skip(1).Take(1).FirstOrDefault().InnerText;
                variacion      = html.CssSelect("div.columna3 div.variacion big").Skip(1).Take(1).FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "ENCUESTA PLAZO FIJO 30 DÍAS EN $",
                    ValorCompra   = ultimo,
                    ValorVenta    = cierreAnterior,
                    Variacion     = variacion,
                    Actualizacion = DateTime.UtcNow.ToLongDateString(),
                    Simbolo       = "%",
                });
            }
            catch
            {
            }


            var result = new DivisaModel
            {
                Actualizacion = DateTime.Now,
                Divisas       = divisas,
            };

            return(result);
        }
        public static DivisaModel GetModel()
        {
            var divisas = new List <DivisaViewModel>();

            HtmlNode html = new Scraper(new Uri("http://www.ambito.com/economia/mercados/monedas/dolar/"), Encoding.UTF7).GetNodes();

            var compra    = html.CssSelect("div.bonosPrincipal div.ultimo big").FirstOrDefault().InnerText;
            var venta     = html.CssSelect("div.bonosPrincipal div.cierreAnterior big").FirstOrDefault().InnerText;
            var variacion = html.CssSelect("div.bonosPrincipal div.variacion big").FirstOrDefault().InnerText;
            var fecha     = html.CssSelect("div.bonosPrincipal div.dolarFecha big").FirstOrDefault().InnerText;

            var variacionOficial = variacion;
            var fechaOficial     = fecha;
            var compraOficial    = compra;
            var ventaOficial     = venta;

            divisas.Add(new DivisaViewModel
            {
                Nombre        = "Dólar",
                Simbolo       = "U$S",
                ValorCompra   = compra,
                ValorVenta    = venta,
                Variacion     = variacion,
                Actualizacion = fecha,
            });

            compra    = html.CssSelect("div.bonosPrincipal div.ultimo big").Skip(1).FirstOrDefault().InnerText;
            venta     = html.CssSelect("div.bonosPrincipal div.cierreAnterior big").Skip(1).FirstOrDefault().InnerText;
            variacion = html.CssSelect("div.bonosPrincipal div.variacion big").Skip(1).FirstOrDefault().InnerText;
            fecha     = html.CssSelect("div.bonosPrincipal div.dolarFecha big").Skip(1).FirstOrDefault().InnerText;

            divisas.Add(new DivisaViewModel
            {
                Nombre        = "Dólar Blue",
                Simbolo       = "U$S",
                ValorCompra   = compra,
                ValorVenta    = venta,
                Variacion     = variacion,
                Actualizacion = fecha,
            });


            try
            {
                compra    = html.CssSelect("div.bonosPrincipal div.ultimo big").Skip(2).Take(1).FirstOrDefault().InnerText;
                venta     = html.CssSelect("div.bonosPrincipal div.cierreAnterior big").Skip(2).Take(1).FirstOrDefault().InnerText;
                variacion = html.CssSelect("div.bonosPrincipal div.variacion big").Skip(2).Take(1).FirstOrDefault().InnerText;
                fecha     = html.CssSelect("div.bonosPrincipal div.dolarFecha big").Skip(2).Take(1).FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "Mayorista",
                    Simbolo       = "U$S",
                    ValorCompra   = compra,
                    ValorVenta    = venta,
                    Variacion     = variacion,
                    Actualizacion = fecha,
                });
            }
            catch
            {
            }

            try
            {
                compra    = html.CssSelect("div.bonosPrincipal div.cierreAnteriorUnico big").Take(1).FirstOrDefault().InnerText;
                venta     = html.CssSelect("div.bonosPrincipal div.cierreAnteriorUnico big").Take(1).FirstOrDefault().InnerText;
                variacion = html.CssSelect("div.bonosPrincipal div.variacion big").Take(1).FirstOrDefault().InnerText;
                fecha     = html.CssSelect("div.bonosPrincipal div.dolarFecha big").Take(1).FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "Dólar Soja",
                    Simbolo       = "U$S",
                    ValorCompra   = compra,
                    ValorVenta    = venta,
                    Variacion     = variacion,
                    Actualizacion = fecha,
                });
            }
            catch
            {
            }

            try
            {
                compra    = html.CssSelect("div.bonosPrincipal div.cierreAnteriorUnico big").Skip(1).Take(1).FirstOrDefault().InnerText;
                venta     = html.CssSelect("div.bonosPrincipal div.cierreAnteriorUnico big").Skip(1).Take(1).FirstOrDefault().InnerText;
                variacion = html.CssSelect("div.bonosPrincipal div.variacion big").Skip(1).Take(1).FirstOrDefault().InnerText;
                fecha     = html.CssSelect("div.bonosPrincipal div.dolarFecha big").Skip(1).Take(1).FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "Contado con liquidación",
                    Simbolo       = "U$S",
                    ValorCompra   = compra,
                    ValorVenta    = venta,
                    Variacion     = variacion,
                    Actualizacion = fecha,
                });
            }
            catch
            {
            }


            try
            {
                compra    = html.CssSelect("div.bonosPrincipal div.cierreAnteriorUnico big").Skip(2).Take(1).FirstOrDefault().InnerText;
                venta     = html.CssSelect("div.bonosPrincipal div.cierreAnteriorUnico big").Skip(2).Take(1).FirstOrDefault().InnerText;
                variacion = html.CssSelect("div.bonosPrincipal div.variacion big").Skip(2).Take(1).FirstOrDefault().InnerText;
                fecha     = html.CssSelect("div.bonosPrincipal div.dolarFecha big").Skip(2).Take(1).FirstOrDefault().InnerText;

                divisas.Add(new DivisaViewModel
                {
                    Nombre        = "Dólar Bolsa",
                    Simbolo       = "U$S",
                    ValorCompra   = compra,
                    ValorVenta    = venta,
                    Variacion     = variacion,
                    Actualizacion = fecha,
                });
            }
            catch
            {
            }

            var result = new DivisaModel
            {
                Actualizacion = DateTime.Now,
                Divisas       = divisas,
            };

            return(result);
        }