public async Task <PagosViewModel> PagoPrestamoconTarjeta(PagosViewModel ptvm, TarjetaCredito tarjeta, Prestamos prestamo) { if (tarjeta.MontoLimite < ptvm.Monto) { ModelState.AddModelError("", "Sobrepasa el limite de su tarjeta"); return(ptvm); } if (tarjeta.Deuda + ptvm.Monto > tarjeta.MontoLimite) { ModelState.AddModelError("", "Sobrepasa el limite de su tarjeta"); return(ptvm); } tarjeta.Deuda = tarjeta.Deuda + ptvm.Monto; if (prestamo.Monto > ptvm.Monto) { prestamo.Monto = prestamo.Monto - ptvm.Monto; } else if (prestamo.Monto <= ptvm.Monto) { ptvm.Monto = ptvm.Monto - prestamo.Monto; prestamo.Monto = 0; tarjeta.Deuda = tarjeta.Deuda - ptvm.Monto; } await _tarjetasRepository.Update(tarjeta); await _prestamosRepository.Update(prestamo); return(null); }
public async Task <IActionResult> TarjetaCredito() { var users = await _userManager.FindByNameAsync(User.Identity.Name); var Cuentas = await _productsrepository.GetAllCuentas(users.Id.Trim()); var tarjetas = await _productsrepository.GetAllTarjetas(users.Id.Trim()); var vm = new PagosViewModel(); var listc = new List <string>(); var listd = new List <string>(); foreach (var item in Cuentas) { listc.Add(item.Id.Trim() + " | " + "Cuenta de Ahorro" + " | " + " | " + item.Balance.ToString("C")); } foreach (var item in tarjetas) { listd.Add(item.Id.Trim() + " | " + "Tarjeta de Credito" + " | " + " | Pagar: " + item.Balance.ToString("C")); } vm.Cuentas = listc; vm.Cuentasdestino = listd; return(View(vm)); }
public async Task <IActionResult> PagoPrestamo() { var users = await _userManager.FindByNameAsync(User.Identity.Name); var Cuentas = await _productsrepository.GetAllCuentas(users.Id.Trim()); var prestamo = await _productsrepository.GetAllPrestamos(users.Id.Trim()); var vm = new PagosViewModel(); var listc = new List <string>(); var listd = new List <string>(); foreach (var item in Cuentas) { listc.Add(item.Id.Trim() + " | " + "Cuenta de Ahorro" + " | " + " | " + item.Balance.ToString("C")); } foreach (var item in prestamo) { if ((item.MontoPrestamo - item.Balance) > 0) { listd.Add(item.Id.Trim() + " | " + "Prestamo" + " | " + " | Pagar: " + (item.MontoPrestamo - item.Balance).ToString("C")); } } vm.Cuentas = listc; vm.Cuentasdestino = listd; return(View(vm)); }
public async Task <PagosViewModel> PagoPrestamo(PagosViewModel ptvm) { var cuenta = await _context.Cuenta.FirstOrDefaultAsync(x => x.NumeroCuenta == ptvm.NumeroCuenta); var prestamo = await _context.Prestamos.FirstOrDefaultAsync(x => x.NumeroPrestamo == ptvm.NumeroCuentaPagar); var tarjeta = await _context.TarjetaCredito.FirstOrDefaultAsync(x => x.NumeroTarjeta == ptvm.NumeroCuenta); if (tarjeta != null) { return(await PagoPrestamoconTarjeta(ptvm, tarjeta, prestamo)); } if (cuenta == null || prestamo == null) { ModelState.AddModelError("", "Cuenta Inexistente"); return(ptvm); } if (cuenta.Balance < ptvm.Monto) { ModelState.AddModelError("", "No tiene suficiente balance"); return(ptvm); } cuenta.Balance = cuenta.Balance - ptvm.Monto; if (prestamo.Monto > ptvm.Monto) { prestamo.Monto = prestamo.Monto - ptvm.Monto; } else if (prestamo.Monto <= ptvm.Monto) { ptvm.Monto = ptvm.Monto - prestamo.Monto; prestamo.Monto = 0; cuenta.Balance = cuenta.Balance + ptvm.Monto; } try { var UsuarioDestinatario = await _usuarioRepository.GetByIdAsync(cuenta.IdUsuario); TransaccionesViewModels Transacciones = new TransaccionesViewModels(); Transacciones.NumeroCuenta = cuenta.NumeroCuenta; Transacciones.NumeroCuentaDestinatario = prestamo.NumeroPrestamo; Transacciones.Monto = ptvm.Monto; Transacciones.Nombre = UsuarioDestinatario.Nombre; Transacciones.Apellido = UsuarioDestinatario.Apellido; Transacciones.TipoTransaccion = 1; await _cuentaRepository.Update(cuenta); await _prestamosRepository.Update(prestamo); var transacciones = _mapper.Map <Transacciones>(Transacciones); await _transaccionesRepository.AddAsync(transacciones); } catch { } return(null); }
public async Task <IActionResult> PagoPrestamo(PagosViewModel vm) { var cdestino = vm.Cdestino.Substring(0, 9); var corigen = vm.Corigen.Substring(0, 9); return(RedirectToAction("ConfirmacionPago", new { destino = cdestino, monto = vm.Monto, origen = corigen })); }
public PagosViewModel TraerCuentas(int?id) { PagosViewModel ptvm = new PagosViewModel(); var CuentaList = _context.Cuenta.Where(x => x.IdUsuario == id).ToList(); var TarjetasList = _context.TarjetaCredito.Where(x => x.IdUsuario == id).ToList(); var PrestamosList = _context.Prestamos.Where(x => x.IdUsuario == id).ToList(); ptvm.cuenta = CuentaList; ptvm.tarjetas = TarjetasList; ptvm.prestamos = PrestamosList; return(ptvm); }
public async Task <IActionResult> PagosExpreso() { ViewData["Nombre"] = User.Identity.Name; int?id = await IdUsuarioClienteAsync(); if (id != null) { var cuentaUsuario = await _cuentaRepository.GetCuentaUsuario(id.Value); PagosViewModel cuentas = new PagosViewModel(); cuentas.cuenta = cuentaUsuario; return(View(cuentas)); } return(View("Index", "Login")); }
public async Task <IActionResult> PagosExpreso(PagosViewModel pevm) { var cuentaUsuario = await _cuentaRepository.GetCuentaUsuario(await IdUsuarioClienteAsync()); PagosViewModel cuentas = new PagosViewModel(); cuentas.cuenta = cuentaUsuario; ViewData["Nombre"] = User.Identity.Name; if (ModelState.IsValid) { var CuentaDestinatario = await _cuentaRepository.GetByIdAsync(pevm.NumeroCuentaPagar.Value); if (CuentaDestinatario != null) { var CuentaAhorroSeleccionada = await _cuentaRepository.GetByIdAsync(pevm.NumeroCuenta.Value); if (CuentaAhorroSeleccionada.Balance < pevm.Monto) { ModelState.AddModelError("", "Tu cuenta de Ahorro, no tiene suficiente balance para transferir " + pevm.Monto + ""); return(View(cuentas)); } else { ModelState.AddModelError("", "Tu cuenta si tiene dinero"); var UsuarioDestinatario = await _usuarioRepository.GetByIdAsync(CuentaDestinatario.IdUsuario); TransaccionesViewModels Transacciones = new TransaccionesViewModels(); Transacciones.NumeroCuenta = CuentaAhorroSeleccionada.NumeroCuenta; Transacciones.NumeroCuentaDestinatario = pevm.NumeroCuentaPagar; Transacciones.Monto = pevm.Monto; Transacciones.Nombre = UsuarioDestinatario.Nombre; Transacciones.Apellido = UsuarioDestinatario.Apellido; Transacciones.TipoTransaccion = 1; return(RedirectToAction("ConfirmPagosExpreso", "Client", Transacciones)); } } else { ModelState.AddModelError("", "La cuenta que digito no existe, por favor intente con otra"); return(View(cuentas)); } } return(View(cuentas)); }
public ActionResult RealizarPagos(PagosViewModel pagos) { try { _pagosDAO.Insertar(new Pago() { Id_Pago = pagos.Id_Pago, Id_Venta = pagos.Id_Venta, Fecha_De_Pago = pagos.FechaDePago, Cantidad_Pagada = pagos.Cantidad_Pagada, Saldo_Actual = pagos.SaldoActual - pagos.Cantidad_Pagada, }); return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult List() { int id = Convert.ToInt32(TempData["IdAlquiler"]); List <PagosViewModel> lista = new List <PagosViewModel>(); PagosViewModel miPago = new PagosViewModel(); using (BDInmobiliariaEntities1 db = new BDInmobiliariaEntities1()) { lista = (from d in db.pago orderby d.nroPago ascending where d.borrado == 0 && d.idAlquiler == id select new PagosViewModel { IdPago = d.idPago, NroPago = d.nroPago, IdAlquiler = d.idAlquiler, Fecha = d.fecha, Importe = d.importe, }).ToList(); } TempData["IdAlquiler"] = id; return(View(lista)); }
public async Task <IActionResult> PagosPrestamo(PagosViewModel ppvm) { ViewData["Nombre"] = User.Identity.Name; CuentasyPagos cp = new CuentasyPagos(_context, _userManager, _cuentaRepository, _tarjetasRepository, _prestamosRepository, _usuarioRepository, _transaccionesRepository, _mapper); if (ModelState.IsValid) { PagosViewModel pvm = new PagosViewModel(); pvm = await cp.PagoPrestamo(ppvm); if (pvm == null) { return(RedirectToAction("Index")); } else { return(View(cp.TraerCuentas(await IdUsuarioClienteAsync()))); } } return(View(cp.TraerCuentas(await IdUsuarioClienteAsync()))); }
// GET: CargarPagos/Create public ActionResult RealizarPagos() { var viewModel = new PagosViewModel(); var listaDeClientes = new List <SelectListItem>(); var listaDeProductos = new List <SelectListItem>(); ClientesDAO _clientesDAO = new ClientesDAO(); VentasDAO ventasDAO = new VentasDAO(); IEnumerable <Cliente> _clientes = _clientesDAO.GetListaCompletaClientes(); foreach (var i in _clientes) { listaDeClientes.Add(new SelectListItem { Text = i.Nombre + i.Apellido, Value = i.Id_Cliente.ToString() }); } viewModel.listaDeClientes = listaDeClientes; viewModel.listaDeProductos = listaDeProductos; return(View(viewModel)); }
public Pagado() { InitializeComponent(); BindingContext = new PagosViewModel(); }
public ActionResult Pagos(PagosViewModel model) { model.Pagos = _pagoLogic.GetPagos((Sede)model.IdSede, model.FechaDesde, model.FechaHasta); return(View(model)); }
public ActionResult Pagos() { var vm = new PagosViewModel(); return(View(vm)); }
public ActionResult Nuevo() { List <PagosViewModel> lista = new List <PagosViewModel>(); PagosViewModel miPago = new PagosViewModel(); int id = Convert.ToInt32(TempData["IdAlquiler"]); miPago.IdAlquiler = id; miPago.Fecha = DateTime.Now; using (SqlConnection connection = new SqlConnection("Data Source=gabiota;Initial Catalog=BDInmobiliaria;Integrated Security=True;")) { string sql = $"SELECT Max(nroPago) FROM pago WHERE IdAlquiler=@id"; using (SqlCommand command = new SqlCommand(sql, connection)) { command.Parameters.Add("@id", SqlDbType.Int).Value = id; command.CommandType = CommandType.Text; connection.Open(); var reader = command.ExecuteReader(); if (reader.Read()) { miPago.NroPago = reader.GetInt32(0) + 1; } connection.Close(); } //------------------------------------------------------------ sql = $"SELECT importe FROM pago WHERE IdAlquiler=@id"; using (SqlCommand command = new SqlCommand(sql, connection)) { command.Parameters.Add("@id", SqlDbType.Int).Value = id; command.CommandType = CommandType.Text; connection.Open(); var reader = command.ExecuteReader(); if (reader.Read()) { miPago.Importe = reader.GetDecimal(0); } connection.Close(); } //------------------------------------------------------------ { sql = $"INSERT INTO pago (nroPago, IdAlquiler,fecha,importe,borrado) " + $"VALUES ('{miPago.NroPago}', '{miPago.IdAlquiler}','{miPago.Fecha}','{miPago.Importe}',0)"; using (SqlCommand command = new SqlCommand(sql, connection)) { command.CommandType = CommandType.Text; connection.Open(); int res = command.ExecuteNonQuery(); connection.Close(); } } } //------------------------------------------------------------ using (BDInmobiliariaEntities1 db = new BDInmobiliariaEntities1()) { lista = (from d in db.pago orderby d.nroPago ascending where d.borrado == 0 && d.idAlquiler == id select new PagosViewModel { IdPago = d.idPago, NroPago = d.nroPago, IdAlquiler = d.idAlquiler, Fecha = d.fecha, Importe = d.importe, }).ToList(); } TempData["IdAlquiler"] = TempData["IdAlquiler"]; return(RedirectToAction("VerPagos", "Pagos")); }