public async Task <IActionResult> GetById(string id)
        {
            var httpClient = _httpClientFactory.CreateClient();

            httpClient.BaseAddress = new Uri(string.Format(_config.Value.Url, "{0}", _config.Value.Target));
            var cotizacionContext = new CotizacionContext(httpClient);
            var result            = await cotizacionContext.GetResult(id);

            if (result.Estado.Equals(STATUSOK))
            {
                return(Ok(new { moneda = result.Resultado.MonedaOrigen, precio = result.Resultado.Precio }));
            }
            return(BadRequest());
        }
Exemplo n.º 2
0
        public IHttpActionResult GetCotizacion(string moneda)
        {
            CotizacionContext cn = new CotizacionContext();

            if (moneda.Equals("Dolar", StringComparison.InvariantCultureIgnoreCase))
            {
                cn.SetCotizador(new CotizadorDolarService());
            }
            else if (moneda.Equals("Peso", StringComparison.InvariantCultureIgnoreCase))
            {
                cn.SetCotizador(new CotizadorPesoService());
            }
            else if (moneda.Equals("Real", StringComparison.InvariantCultureIgnoreCase))
            {
                cn.SetCotizador(new CotizadorRealService());
            }
            else
            {
                cn.SetCotizador(new CotizadorOtraService());
            }

            return(cn.Cotizar());
        }
Exemplo n.º 3
0
        // Constructor del Controlador
        public CotizacionController(CotizacionContext context)
        {
            _context = context;

            if (_context.Monedas.Count() == 0)
            {
                /* Generamos la coleccion de monedas para poder consultar */
                _context.Monedas.Add(new Moneda("dolar"));
                _context.Monedas.Add(new Moneda("euro"));
                _context.Monedas.Add(new Moneda("real"));
                _context.SaveChanges();
            }
            else
            {
                /* Mantenemos actualizada la coleccion en cada get */
                var monedas = _context.Monedas.ToList();
                foreach (var m in monedas)
                {
                    var newM = new Moneda(m.moneda);
                    _context.Entry(m).CurrentValues.SetValues(newM);
                }
            }
        }