Esempio n. 1
0
        private void EnajenarPrenda(object sender, RoutedEventArgs e)
        {
            if (dgPrestamos.SelectedItem == null)
            {
                MessageBox.Show("No ha elegido una prenda.");
                return;
            }

            if (MessageBox.Show("¿Desea enajenar la prenda?", "ATENCIÓN", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                cPrenda   pren = new cPrenda();
                cPrestamo pres = new cPrestamo();

                pres = (cPrestamo)dgPrestamos.SelectedItem;
                pren = cPrenda.ObtenerPrendaIdPrestamo(pres.IdPrestamo);
                cPrenda.EnajenarPrenda(pren.IdPrenda);

                int dias = 0;

                if (int.TryParse(tbDiasVencimiento.Text, out dias))
                {
                    prestamos = cPrestamo.ObtenerPrestamos("ACTIVO", tbDiasVencimiento.Text);
                    dgPrestamos.ItemsSource = null;
                    dgPrestamos.ItemsSource = prestamos;

                    articulos = cPrenda.ObtenerPrendasVenta("%");
                    dgInventario.ItemsSource = null;
                    dgInventario.ItemsSource = articulos;
                }
            }
        }
Esempio n. 2
0
 public VerificarEliminacion(MainWindow p, cPrestamo pre)
 {
     InitializeComponent();
     prestamo      = pre;
     parent        = p;
     tbNumero.Text = "Número de préstamo: " + prestamo.Contrato;
 }
Esempio n. 3
0
        private void Refrendar(object sender, RoutedEventArgs e)
        {
            if (dgPrestamos.SelectedItem != null)
            {
                cPrenda   pren = new cPrenda();
                cPrestamo pres = new cPrestamo();
                cCliente  cli  = new cCliente();

                pres = (cPrestamo)dgPrestamos.SelectedItem;
                pren = cPrenda.ObtenerPrendaIdPrestamo(pres.IdPrestamo);
                cli  = cCliente.ObtenerClienteIdPrestamo(pres.IdPrestamo);
                Refrendo refrendo = new Refrendo(pres, pren, cli, this);
                refrendo.ShowDialog();
            }
        }
Esempio n. 4
0
        public Refrendo(cPrestamo pre, cPrenda p, cCliente c, MainWindow pa)
        {
            InitializeComponent();

            prestamo = pre;
            prenda   = p;
            pagos    = new ObservableCollection <cPago>();

            cliente = c;
            tbNombreCliente.Text = c.NombreCompleto;
            tbTotalPrestamo.Text = "$ " + prenda.Prestamo;
            parent = pa;

            tbFecha.Text = prestamo.FechaPrestamo;

            dtpFechaRefrendo.SelectedDate = DateTime.Now;
        }
Esempio n. 5
0
        private void DgPrestamos_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Delete)
            {
                if (dgPrestamos.SelectedItem != null)
                {
                    if (MessageBox.Show("¿Desea eliminar el préstamo por completo?", "ATENCIÓN", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                    {
                        cPrestamo p = new cPrestamo();
                        p = (cPrestamo)dgPrestamos.SelectedItem;

                        VerificarEliminacion eliminar = new VerificarEliminacion(this, p);

                        eliminar.ShowDialog();
                    }
                }
            }
        }
Esempio n. 6
0
        private async void Button_Click_1Async(object sender, RoutedEventArgs e)
        {
            try
            {
                if (MessageBox.Show("¿Desea guardar el préstamo?", "Atención", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    cPrestamo p = new cPrestamo();
                    p.IdPrestamoPadre  = "0";
                    p.IdCliente        = cliente.IdCliente;
                    p.IdPrenda         = prenda.IdPrenda;
                    p.Contrato         = contrato.NumeroContrato;
                    p.CantidadPrestada = prenda.Prestamo;
                    //p.FechaPrestamo = DateTime.Now.ToString();
                    p.FechaPrestamo    = dtpFechaPrestamo.SelectedDate.Value.ToShortDateString();
                    p.CantidadPrestada = prenda.Prestamo;
                    p.FechaVencimiento = pagos[pagos.Count - 1].FechaPago;
                    p.Estado           = "ACTIVO";

                    String IdPrestamo = cPrestamo.AgregarPrestamo(p);

                    if (IdPrestamo != "0")
                    {
                        MessageBox.Show("Se ha ingresado el préstamo.");
                        this.Close();
                    }

                    p.IdPrestamo = IdPrestamo;

                    await Task.Run(() => CrearBoletaExcel(p));

                    if (MessageBox.Show("Se ha creado la boleta, ¿desea verla?", "Atención", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                    {
                        System.Diagnostics.Process.Start(ruta);
                    }

                    //parent.LimpiarCampos();
                    this.Close();
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }
Esempio n. 7
0
        public static String AgregarPrestamo(cPrestamo p)
        {
            String respuesta = "0";

            try
            {
                using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["EfectivoInmediato.Properties.Settings.EfectivoInmediatoConnectionString"].ConnectionString))
                {
                    using (SqlCommand myCMD = new SqlCommand(" " +
                                                             "INSERT INTO Prestamos (IdPrestamoPadre, IdCliente, IdPrenda, Contrato, CantidadPrestada, FechaPrestamo, FechaVencimiento, Estado, FechaCaptura) " +
                                                             "OUTPUT INSERTED.IdPrestamo " +
                                                             "VALUES (@IdPrestamoPadre, @IdCliente, @IdPrenda, @Contrato, @CantidadPrestada, @FechaPrestamo, @FechaVencimiento, @Estado, GETDATE())" +
                                                             "", con))
                    {
                        con.Open();

                        myCMD.Parameters.AddWithValue("@IdPrestamoPadre", p.IdPrestamoPadre);
                        myCMD.Parameters.AddWithValue("@IdCliente", p.IdCliente);
                        myCMD.Parameters.AddWithValue("@IdPrenda", p.IdPrenda);
                        myCMD.Parameters.AddWithValue("@Contrato", p.Contrato);
                        myCMD.Parameters.AddWithValue("@CantidadPrestada", p.CantidadPrestada);
                        myCMD.Parameters.AddWithValue("@FechaPrestamo", p.FechaPrestamo);
                        myCMD.Parameters.AddWithValue("@FechaVencimiento", p.FechaVencimiento);
                        myCMD.Parameters.AddWithValue("@Estado", p.Estado);

                        respuesta = myCMD.ExecuteScalar().ToString();

                        con.Close();
                    }
                }
            }
            catch (Exception exc)
            {
                respuesta = "0";
            }

            return(respuesta);
        }
Esempio n. 8
0
        public static ObservableCollection <cPrestamo> ObtenerPrestamos(String Estado, String DiasVencimiento = "NO", String EnVenta = "NO")
        {
            ObservableCollection <cPrestamo> prestamos = new ObservableCollection <cPrestamo>();
            cPrestamo prestamo;

            try
            {
                using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["EfectivoInmediato.Properties.Settings.EfectivoInmediatoConnectionString"].ConnectionString))
                {
                    using (SqlCommand myCMD = new SqlCommand(" " +
                                                             "SELECT Prestamos.*, (Clientes.NombreCliente + ' ' + Clientes.ApellidoPaternoCliente + ' ' + Clientes.ApellidoMaternoCliente) As NombreCompleto," +
                                                             "Prendas.Descripcion, Prendas.TipoPrenda " +
                                                             "FROM Prestamos " +
                                                             "INNER JOIN Clientes " +
                                                             "ON Clientes.IdCliente = Prestamos.IdCliente " +
                                                             "INNER JOIN Prendas " +
                                                             "ON Prendas.IdPrenda = Prestamos.IdPrenda " +
                                                             "WHERE Prestamos.Estado Like @Estado " +
                                                             "AND Prendas.EnVenta = @EnVenta" +
                                                             "", con))
                    {
                        con.Open();

                        myCMD.Parameters.AddWithValue("@Estado", Estado);
                        myCMD.Parameters.AddWithValue("@EnVenta", EnVenta);

                        SqlDataReader reader = myCMD.ExecuteReader();
                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                prestamo                   = new cPrestamo();
                                prestamo.IdPrestamo        = reader["IdPrestamo"].ToString();
                                prestamo.IdPrestamoPadre   = reader["IdPrestamoPadre"].ToString();
                                prestamo.IdCliente         = reader["IdCliente"].ToString();
                                prestamo.IdPrenda          = reader["IdPrenda"].ToString();
                                prestamo.DescripcionPrenda = reader["Descripcion"].ToString();
                                prestamo.TipoPrenda        = reader["TipoPrenda"].ToString();
                                prestamo.Contrato          = reader["Contrato"].ToString();
                                prestamo.NombreCliente     = reader["NombreCompleto"].ToString();
                                prestamo.NombrePrenda      = reader["Descripcion"].ToString();
                                prestamo.CantidadPrestada  = reader["CantidadPrestada"].ToString();
                                prestamo.FechaPrestamo     = reader["FechaPrestamo"].ToString();
                                prestamo.FechaVencimiento  = reader["FechaVencimiento"].ToString();
                                prestamo.Estado            = reader["Estado"].ToString();
                                prestamo.FechaCaptura      = reader["FechaCaptura"].ToString();

                                SqlConnection con2 = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["EfectivoInmediato.Properties.Settings.EfectivoInmediatoConnectionString"].ConnectionString);

                                con2.Open();

                                using (SqlCommand commRefrendos = new SqlCommand(" " +
                                                                                 "SELECT * " +
                                                                                 "FROM Refrendos " +
                                                                                 "WHERE IdPrestamo = @IdPrestamo " +
                                                                                 "", con2))
                                {
                                    commRefrendos.Parameters.AddWithValue("@IdPrestamo", prestamo.IdPrestamo);

                                    SqlDataReader readerR = commRefrendos.ExecuteReader();

                                    SqlConnection con3 = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["EfectivoInmediato.Properties.Settings.EfectivoInmediatoConnectionString"].ConnectionString);

                                    con3.Open();

                                    if (readerR.HasRows)
                                    {
                                        String fecha = "";
                                        float  totalAbonoACapital = 0;

                                        while (readerR.Read())
                                        {
                                            fecha = readerR["FechaRefrendo"].ToString();

                                            if (readerR["TIPO"].ToString() == "ABONO")
                                            {
                                                totalAbonoACapital += float.Parse(readerR["Refrendo"].ToString());
                                            }
                                        }
                                        SqlCommand comIntereses = new SqlCommand("Select Intereses.Periodo, Plazo " +
                                                                                 "From Prendas " +
                                                                                 "Inner Join Departamentos " +
                                                                                 "On Departamentos.IdDepartamento = Prendas.IdDepartamento " +
                                                                                 "Inner Join Intereses " +
                                                                                 "On Intereses.IdDepartamento = Departamentos.IdDepartamento " +
                                                                                 "Where IdPrenda = @IdPrenda", con3);

                                        comIntereses.Parameters.AddWithValue("@IdPrenda", prestamo.IdPrenda);

                                        SqlDataReader readerI = comIntereses.ExecuteReader();

                                        String plazo = "";

                                        if (readerI.HasRows)
                                        {
                                            while (readerI.Read())
                                            {
                                                plazo = readerI["Plazo"].ToString();
                                            }
                                        }

                                        DateTime fechaVencimiento = DateTime.Parse(fecha);
                                        fechaVencimiento = fechaVencimiento.AddMonths(int.Parse(plazo));

                                        prestamo.FechaVencimiento = fechaVencimiento.ToShortDateString();

                                        prestamo.AbonoACapital = totalAbonoACapital.ToString();
                                    }

                                    con3.Close();
                                }

                                con2.Close();

                                if (DiasVencimiento == "NO")
                                {
                                }
                                else
                                {
                                    if (DateTime.Parse(prestamo.FechaVencimiento).AddDays(int.Parse(DiasVencimiento)) <= DateTime.Now)
                                    {
                                        prestamo.ProximoATerminar = "SI";
                                    }
                                    else
                                    {
                                        prestamo.ProximoATerminar = "NO";
                                    }
                                }

                                prestamos.Add(prestamo);
                            }
                        }
                        con.Close();
                    }
                }
            }
            catch (Exception exc)
            {
            }

            return(prestamos);
        }
Esempio n. 9
0
        public void CrearBoletaExcel(cPrestamo p)
        {
            Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();

            try
            {
                object   m  = Type.Missing;
                Workbook wb = app.Workbooks.Open(
                    @"C:\EfectivoInmediato\Boleta2M.xlsx",
                    m, false, m, m, m, m, m, m, m, m, m, m, m, m);

                Worksheet ws = (Worksheet)wb.ActiveSheet;

                Range r = (Range)ws.UsedRange;

                bool success;

                //Se escribe el nombre de la sucursal.
                success = (bool)r.Replace(
                    @"\sucursal\",
                    "MATRIZ",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el horario de la sucursal.
                success = (bool)r.Replace(
                    @"\hor\",
                    "9:00 a.m. A 7:00 p.m.",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la fecha del documento.
                success = (bool)r.Replace(
                    @"\fecha\",
                    p.FechaPrestamo,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el número de contrato.
                success = (bool)r.Replace(
                    @"\contrato\",
                    p.Contrato,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el nombre del cliente.
                success = (bool)r.Replace(
                    @"\cliente\",
                    "[" + cliente.IdCliente + "] " + cliente.NombreCompleto,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el tipo de idenficación del cliente.
                success = (bool)r.Replace(
                    @"\tipoIDCli\",
                    cliente.TipoIdentificacion,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el número de idenficación del cliente.
                success = (bool)r.Replace(
                    @"\numIDCli\",
                    cliente.ClaveIdentificacion,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el domicilio del cliente.
                success = (bool)r.Replace(
                    @"\domCli\",
                    cliente.Domicilio,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el teléfono del cliente.
                success = (bool)r.Replace(
                    @"\telCli\",
                    cliente.Telefono1,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                /*
                 * //Se escribe el correo electrónico del cliente.
                 * success = (bool)r.Replace(
                 *  @"\emailCliente\",
                 *  cliente.CorreoElectronico,
                 *  XlLookAt.xlPart,
                 *  XlSearchOrder.xlByRows,
                 *  true, m, m, m);
                 */
                // Se escribe el nombre del cotitular del cliente.
                success = (bool)r.Replace(
                    @"\cotitular\",
                    cliente.NombreCotitular,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el CAT.
                success = (bool)r.Replace(
                    @"\cat\",
                    (float.Parse(interes.CalcularCAT()) / 100).ToString(),
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la tasa de interes anual.
                success = (bool)r.Replace(
                    @"\tan\",
                    (((float.Parse(interes.Financiamiento) + float.Parse(interes.Administracion)) / 100) * 12).ToString(),
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la cantidad para desempeñar.
                success = (bool)r.Replace(
                    @"\desemp\",
                    pagos[pagos.Count - 1].TotalDesempeno,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el porcentaje de almacenaje.
                success = (bool)r.Replace(
                    @"\pAlmcnj\",
                    (float.Parse(interes.Almacenaje) / 100).ToString(),
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la cantidad por reposición de contrato.
                success = (bool)r.Replace(
                    @"\repos\",
                    "$ 15.00",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la cantidad por reclamo extemporaneo.
                success = (bool)r.Replace(
                    @"\intExtempo\",
                    (float.Parse(interes.ReclamoExtemporaneoCantidad) / 100).ToString(),
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el porcentaje de gastos de administración.
                success = (bool)r.Replace(
                    @"\pAdmon\",
                    interes.Administracion,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la fecha de vencimiento.
                success = (bool)r.Replace(
                    @"\fecVen\",
                    pagos[pagos.Count - 1].FechaPago,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el interes final.
                success = (bool)r.Replace(
                    @"\finan\",
                    pagos[pagos.Count - 1].Intereses,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el almacenaje final.
                success = (bool)r.Replace(
                    @"\almcnj\",
                    pagos[pagos.Count - 1].Almacenaje,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el IVA final.
                success = (bool)r.Replace(
                    @"\iva\",
                    pagos[pagos.Count - 1].IVA,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el refrendo final.
                success = (bool)r.Replace(
                    @"\refren\",
                    pagos[pagos.Count - 1].TotalRefrendo,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe nombre de la prenda.
                success = (bool)r.Replace(
                    @"\prenda1\",
                    prenda.Descripcion + " " + prenda.Marca + " " + prenda.Modelo + " " + prenda.Serie + " " + prenda.Observaciones,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el avalúo de la prenda.
                success = (bool)r.Replace(
                    @"\ava1\",
                    prenda.Avaluo,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la pureza del metal.
                success = (bool)r.Replace(
                    @"\pureza1\",
                    prenda.Pureza,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el peso del metal.
                success = (bool)r.Replace(
                    @"\peso1\",
                    prenda.PesoMetal,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el color de la piedra.
                success = (bool)r.Replace(
                    @"\color1\",
                    prenda.ColorPiedra,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la claridad de la piedra.
                success = (bool)r.Replace(
                    @"\claridad1\",
                    prenda.ClaridadOPureza,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                // Se escribe el préstamo de la prenda.
                success = (bool)r.Replace(
                    @"\pres1\",
                    prenda.Prestamo,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el avalúo de la prenda.
                success = (bool)r.Replace(
                    @"\avaluoTotal\",
                    prenda.Avaluo,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el prestamo de la prenda.
                success = (bool)r.Replace(
                    @"\pres\",
                    prenda.Prestamo,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el pago mínimo.
                success = (bool)r.Replace(
                    @"\pagoMin\",
                    interes.PagoMinimo,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la fecha de comecialización.
                success = (bool)r.Replace(
                    @"\fecCom\",
                    DateTime.Parse(pagos[pagos.Count - 1].FechaPago).AddDays(int.Parse(interes.ReclamoExtemporaneoDias)).ToShortDateString(),
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la fecha de refrendo máximo.
                success = (bool)r.Replace(
                    @"\fecRef\",
                    DateTime.Parse(pagos[pagos.Count - 1].FechaPago).AddDays(int.Parse(interes.DiasDeGracia)).ToShortDateString(),
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el tipo de periodo de cobro.
                success = (bool)r.Replace(
                    @"\periodo\",
                    interes.Periodo,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escriben las observaciones.
                success = (bool)r.Replace(
                    @"\observ1\",
                    "",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el número del contrato con PROFECO.
                success = (bool)r.Replace(
                    @"\contratoProfeco\",
                    "8361-2018",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el domicilio del establecimiento.
                success = (bool)r.Replace(
                    @"\domProp\",
                    "GIRASOL Num. 15 COL. CIUDAD INDUSTRIAL.",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el teléfono del establecimiento.
                success = (bool)r.Replace(
                    @"\telProp\",
                    "311 160 8815",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el correo del establecimiento.
                success = (bool)r.Replace(
                    @"\emailProp\",
                    "-",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe la dirección de la página del establecimiento.
                success = (bool)r.Replace(
                    @"\paginaProp\",
                    "-",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                // Se escribe el nombre de la ciudad.
                success = (bool)r.Replace(
                    @"\ciudad\",
                    "TEPIC, NAYARIT",
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                // Se escribe el día.
                success = (bool)r.Replace(
                    @"\dia\",
                    p.FechaPrestamo.Substring(0, 2),
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                // Se escribe el mes.
                success = (bool)r.Replace(
                    @"\mes\",
                    p.FechaPrestamo.Substring(3, 2),
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                // Se escribe el año.
                success = (bool)r.Replace(
                    @"\año\",
                    p.FechaPrestamo.Substring(6, 4),
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                app.CalculateFull();

                wb.SaveAs(@"C:\EfectivoInmediato\Boletas\Boleta_" + p.IdPrestamo);
                app.Quit();
                //app = null;

                Marshal.ReleaseComObject(app);

                ruta = @"C:\EfectivoInmediato\Boletas\Boleta_" + p.IdPrestamo + ".xlsx";
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
            finally
            {
            }
        }