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