예제 #1
0
        public async Task <IActionResult> AvanceEfectivo(AvanceEfectivoViewModel Aev)
        {
            var cuentaUsuario = await _cuentaRepository.GetCuentaUsuario(await IdUsuarioClienteAsync());

            var TarjetaUsuario = await _tarjetasRepository.GetCreditoUsuario(await IdUsuarioClienteAsync());

            ViewBag.exists = "";
            Aev.cuenta     = cuentaUsuario;
            Aev.tarjetas   = TarjetaUsuario;

            ViewData["Nombre"] = User.Identity.Name;

            if (ModelState.IsValid)
            {
                var CuentaTarjetaCredito = await _tarjetasRepository.GetByIdAsync(Aev.NumeroTarjeta.Value);

                var CuentaAhorroSeleccionada = await _cuentaRepository.GetByIdAsync(Aev.NumeroCuenta.Value);

                double  deuda           = Convert.ToDouble(CuentaTarjetaCredito.Deuda);
                double  MontoOne        = Convert.ToDouble(Aev.Monto);
                double  MontoVerdadero  = MontoOne * 0.0625;
                double  deuda1          = Convert.ToDouble(CuentaTarjetaCredito.Deuda);
                double  MontoDeudaTotal = MontoOne + MontoVerdadero + deuda1;
                decimal result          = Convert.ToDecimal(MontoDeudaTotal);


                if (result > CuentaTarjetaCredito.MontoLimite)
                {
                    ModelState.AddModelError("", "El monto del avance de efectivo supera el monto limite de la tarjeta de crédito numero " + CuentaTarjetaCredito.NumeroTarjeta);
                    return(View(Aev));
                }
                else
                {
                    CuentaAhorroSeleccionada.Balance = CuentaAhorroSeleccionada.Balance + Aev.Monto;
                    await _cuentaRepository.Update(CuentaAhorroSeleccionada);

                    CuentaTarjetaCredito.Deuda = result;
                    await _tarjetasRepository.Update(CuentaTarjetaCredito);


                    var transacciones = _mapper.Map <Transacciones>(Aev);
                    transacciones.NumeroCuentaDestinatario = CuentaTarjetaCredito.NumeroTarjeta;
                    await _transaccionesRepository.AddAsync(transacciones);

                    ViewBag.exists = "Avance de efectivo, realizado sastifactoriamente.";

                    return(View(Aev));
                }
            }

            return(View(Aev));
        }
예제 #2
0
        //OtrasVista
        public async Task <IActionResult> AvanceEfectivo()
        {
            ViewData["Nombre"] = User.Identity.Name;

            var cuentaUsuario = await _cuentaRepository.GetCuentaUsuario(await IdUsuarioClienteAsync());

            var TarjetaUsuario = await _tarjetasRepository.GetCreditoUsuario(await IdUsuarioClienteAsync());

            AvanceEfectivoViewModel avanceCuenta = new AvanceEfectivoViewModel();

            avanceCuenta.cuenta   = cuentaUsuario;
            avanceCuenta.tarjetas = TarjetaUsuario;


            return(View(avanceCuenta));
        }