示例#1
0
        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());
        }