Пример #1
0
        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);
            }
        }
Пример #2
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());
        }