Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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 }));
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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"));
        }
Exemplo n.º 8
0
        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());
            }
        }
Exemplo n.º 10
0
        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));
        }
Exemplo n.º 11
0
        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));
        }
Exemplo n.º 13
0
 public Pagado()
 {
     InitializeComponent();
     BindingContext = new PagosViewModel();
 }
Exemplo n.º 14
0
 public ActionResult Pagos(PagosViewModel model)
 {
     model.Pagos = _pagoLogic.GetPagos((Sede)model.IdSede, model.FechaDesde, model.FechaHasta);
     return(View(model));
 }
Exemplo n.º 15
0
        public ActionResult Pagos()
        {
            var vm = new PagosViewModel();

            return(View(vm));
        }
Exemplo n.º 16
0
        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"));
        }