public void LoadConversionList() { var factores = _repositorio.ObtenerFactores(); string[] simbolos = new string[factores.Count]; //foreach (var f in factores) //{ // Moneda origen = _repositorio.BuscarMonedaPorId(f.IdMonedaOrigen); // Moneda destino = _repositorio.BuscarMonedaPorId(f.IdMonedaDestino); // simbolos.Append($"{origen.IdentificadorMoneda}{destino.IdentificadorMoneda},"); //} //simbolos = simbolos.Substring(0, simbolos.Length - 1); var data = _client.GetQuotes(simbolos); foreach (var forexData in data) { var simboloOrigen = forexData.symbol.Substring(0, 3); var simboloDestino = forexData.symbol.Substring(3, 3); var monedaOrigen = _repositorio.BuscarMonedaPorIdentificador(simboloOrigen); var monedaDestino = _repositorio.BuscarMonedaPorIdentificador(simboloDestino); var factorMoneda = _repositorio.BuscarFactorPorOrigenDestino(monedaOrigen.Id, monedaDestino.Id); factorMoneda.Factor = (decimal)forexData.price; _repositorio.ActualizarFactores(factorMoneda); } }
public async Task <IActionResult> VerConversor(HomeViewModel model) { if (ModelState.IsValid) { var listaMonedas = _repositorio.ObtenerMonedas(); var error = ""; var resultado = _conversionMoneda.RealizarCambio(model.IdOrigen, model.IdDestino, model.Cantidad); if (resultado == -1) { error = "No se ha podido realizar el cambio"; } var user = await GetCurrentUserAsync(); var idOrigen = _repositorio.BuscarMonedaPorIdentificador(model.IdOrigen); var idDestino = _repositorio.BuscarMonedaPorIdentificador(model.IdDestino); var factor = _repositorio.BuscarFactorPorOrigenDestino(idOrigen.Id, idDestino.Id); _repositorio.CrearHistorial(new Historial { IdOrigen = model.IdOrigen, IdDestino = model.IdDestino, IdUsuario = user.Id, Factor = factor.Factor, Cantidad = model.Cantidad, Resultado = resultado, Fecha = DateTime.Now }); var conversorViewModel = new ConversionViewModel { IdOrigen = model.IdOrigen, IdDestino = model.IdDestino, Cantidad = model.Cantidad, Resultado = resultado, ListaMonedas = listaMonedas, ErrorMsg = error, Historiales = _repositorio.BuscarNHistoriales(0, 10, user.Id) }; return(View(conversorViewModel)); } return(View()); }