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()); }
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()); }
// 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); } } }