Пример #1
0
        public static String AgregarRefrendo(cRefrendo c)
        {
            String resultado = "OK";

            try
            {
                using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["EfectivoInmediato.Properties.Settings.EfectivoInmediatoConnectionString"].ConnectionString))
                {
                    using (SqlCommand myCMD = new SqlCommand(" " +
                                                             "INSERT INTO Refrendos (IdPrestamo, Refrendo, FechaRefrendo, FechaCaptura, Tipo) " +
                                                             "OUTPUT INSERTED.IdRefrendo " +
                                                             "VALUES (@IdPrestamo, @Refrendo, @FechaRefrendo, GETDATE(), @Tipo) " +
                                                             "", con))
                    {
                        con.Open();

                        myCMD.Parameters.AddWithValue("@IdPrestamo", c.IdPrestamo);
                        myCMD.Parameters.AddWithValue("@Refrendo", c.Refrendo);
                        myCMD.Parameters.AddWithValue("@FechaRefrendo", c.FechaRefrendo);
                        myCMD.Parameters.AddWithValue("@Tipo", c.Tipo);

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

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

            return(resultado);
        }
Пример #2
0
        public async void LiquidacionEspecial(String Razon)
        {
            float refrendo;

            if (float.TryParse(tbRefrendo.Text, out refrendo))
            {
                refrendo = float.Parse(tbRefrendo.Text);
                cRefrendo c = new cRefrendo();
                c.IdPrestamo    = prestamo.IdPrestamo;
                c.Refrendo      = refrendo.ToString();
                c.FechaRefrendo = dtpFechaRefrendo.SelectedDate.Value.ToShortDateString();
                c.Tipo          = "FINAL";
                String r = cRefrendo.AgregarRefrendo(c);
                cPrestamo.FinalizarPrestamo(prestamo.IdPrestamo, Razon);
                int x = 0;
                if (int.TryParse(r, out x))
                {
                    MessageBox.Show("Se ha liquidado el préstamo.");
                    parent.RecargarPrestamos();

                    await Task.Run(() => CrearBoletaExcel(r, c, "FINAL", c.Refrendo, ""));

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

                    this.Close();
                }
            }
        }
Пример #3
0
        public static ObservableCollection <cRefrendo> ObtenerRefrendos(String IdPrestamo)
        {
            ObservableCollection <cRefrendo> refrendos = new ObservableCollection <cRefrendo>();
            cRefrendo refrendo;

            try
            {
                using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["EfectivoInmediato.Properties.Settings.EfectivoInmediatoConnectionString"].ConnectionString))
                {
                    using (SqlCommand myCMD = new SqlCommand(" " +
                                                             "SELECT * " +
                                                             "FROM Refrendos " +
                                                             "WHERE IdPrestamo = @IdPrestamo " +
                                                             "", con))
                    {
                        con.Open();

                        myCMD.Parameters.AddWithValue("@IdPrestamo", IdPrestamo);

                        SqlDataReader reader = myCMD.ExecuteReader();

                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                refrendo               = new cRefrendo();
                                refrendo.IdRefrendo    = reader["IdRefrendo"].ToString();
                                refrendo.IdPrestamo    = reader["IdPrestamo"].ToString();
                                refrendo.Refrendo      = reader["Refrendo"].ToString();
                                refrendo.FechaRefrendo = reader["FechaRefrendo"].ToString();
                                refrendo.FechaCaptura  = reader["FechaCaptura"].ToString();
                                refrendo.Tipo          = reader["Tipo"].ToString();
                                refrendos.Add(refrendo);
                            }
                        }
                        con.Close();
                    }
                }
            }
            catch (Exception exc)
            {
                refrendos = null;
            }

            return(refrendos);
        }
Пример #4
0
        public void CrearBoletaExcel(String IdRefrendo, cRefrendo Refrendo, String Tipo, String ImportePago, String Abono)
        {
            Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();

            try
            {
                object   m  = Type.Missing;
                Workbook wb = app.Workbooks.Open(
                    @"C:\EfectivoInmediato\ReciboRefrendo.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 la fecha del refrendo.
                success = (bool)r.Replace(
                    @"\fecha\",
                    Refrendo.FechaRefrendo,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

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

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

                //Se escribe el importe del refrendo.
                success = (bool)r.Replace(
                    @"\importe1\",
                    "$ " + ImportePago,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el importe del abono (si aplica).
                success = (bool)r.Replace(
                    @"\importe2\",
                    "$ " + Abono,
                    XlLookAt.xlPart,
                    XlSearchOrder.xlByRows,
                    true, m, m, m);

                //Se escribe el tipo de pago.
                if (Tipo == "REFRENDO")
                {
                    success = (bool)r.Replace(
                        @"\tipo1\",
                        "REFRENDO",
                        XlLookAt.xlPart,
                        XlSearchOrder.xlByRows,
                        true, m, m, m);

                    success = (bool)r.Replace(
                        @"\tipo2\",
                        "",
                        XlLookAt.xlPart,
                        XlSearchOrder.xlByRows,
                        true, m, m, m);
                }
                else if (Tipo == "FINAL")
                {
                    success = (bool)r.Replace(
                        @"\tipo1\",
                        "PAGO FINAL",
                        XlLookAt.xlPart,
                        XlSearchOrder.xlByRows,
                        true, m, m, m);

                    success = (bool)r.Replace(
                        @"\tipo2\",
                        "",
                        XlLookAt.xlPart,
                        XlSearchOrder.xlByRows,
                        true, m, m, m);
                }
                else if (Tipo == "ABONO")
                {
                    success = (bool)r.Replace(
                        @"\tipo1\",
                        "REFRENDO",
                        XlLookAt.xlPart,
                        XlSearchOrder.xlByRows,
                        true, m, m, m);

                    success = (bool)r.Replace(
                        @"\tipo2\",
                        "ABONO",
                        XlLookAt.xlPart,
                        XlSearchOrder.xlByRows,
                        true, m, m, m);
                }

                //Se escribe el restante por pagar.
                if (Tipo == "FINAL")
                {
                    success = (bool)r.Replace(
                        @"\restan\",
                        "$ 0",
                        XlLookAt.xlPart,
                        XlSearchOrder.xlByRows,
                        true, m, m, m);
                }
                else
                {
                    success = (bool)r.Replace(
                        @"\restan\",
                        "$ " + PagoLiquidar,
                        XlLookAt.xlPart,
                        XlSearchOrder.xlByRows,
                        true, m, m, m);
                }

                wb.SaveAs(@"C:\EfectivoInmediato\Refrendos\Refrendo_" + prestamo.IdPrestamo + "_" + IdRefrendo);
                app.Quit();
                //app = null;

                Marshal.ReleaseComObject(app);

                ruta = @"C:\EfectivoInmediato\Refrendos\Refrendo_" + prestamo.IdPrestamo + "_" + IdRefrendo + ".xlsx";
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
            finally
            {
            }
        }
Пример #5
0
        private async void AgregarRefrendoAsync(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("¿Desea guardar el refrendo?", "Atención", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                if (tbRefrendo.Text.Length == 0)
                {
                    MessageBox.Show("No ha escrito una cantidad para el refrendo.");
                    return;
                }
                else
                {
                    float refrendo;
                    if (float.TryParse(tbRefrendo.Text, out refrendo))
                    {
                        refrendo = float.Parse(tbRefrendo.Text);
                        if (refrendo < float.Parse(PagoMinimo))
                        {
                            MessageBox.Show("El pago ingresado es menor al refrendo mínimo.");
                            return;
                        }
                        else
                        {
                            if (refrendo == float.Parse(PagoMinimo))
                            {
                                cRefrendo c = new cRefrendo();
                                c.IdPrestamo    = prestamo.IdPrestamo;
                                c.Refrendo      = refrendo.ToString();
                                c.FechaRefrendo = dtpFechaRefrendo.SelectedDate.Value.ToShortDateString();
                                c.Tipo          = "REFRENDO";
                                String r = cRefrendo.AgregarRefrendo(c);
                                CargarRefrendos();
                                CargarIntereses();
                                CalcularPagoMinimo();

                                await Task.Run(() => CrearBoletaExcel(r, c, "REFRENDO", c.Refrendo, ""));

                                if (MessageBox.Show("Se ha creado el recibo, ¿desea verlo?", "Atención", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                                {
                                    System.Diagnostics.Process.Start(ruta);
                                }
                            }
                            else
                            {
                                if (refrendo > float.Parse(PagoLiquidar))
                                {
                                    MessageBox.Show("No puede pagar más de la cantidad establecida como pago para liquidar.");
                                    return;
                                }
                                else
                                {
                                    if (refrendo == float.Parse(PagoLiquidar))
                                    {
                                        cRefrendo c = new cRefrendo();
                                        c.IdPrestamo    = prestamo.IdPrestamo;
                                        c.Refrendo      = refrendo.ToString();
                                        c.FechaRefrendo = dtpFechaRefrendo.SelectedDate.Value.ToShortDateString();
                                        c.Tipo          = "FINAL";
                                        String r = cRefrendo.AgregarRefrendo(c);
                                        cPrestamo.FinalizarPrestamo(prestamo.IdPrestamo);
                                        int x = 0;
                                        if (int.TryParse(r, out x))
                                        {
                                            MessageBox.Show("Se ha liquidado el préstamo.");
                                            parent.RecargarPrestamos();

                                            await Task.Run(() => CrearBoletaExcel(r, c, "FINAL", c.Refrendo, ""));

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

                                            this.Close();
                                        }
                                    }
                                    else
                                    {
                                        //Si la cantidad a refrendar es mayor al refrendo pero menor a la cantidad
                                        //para liquidar se dará la parte al refrendo y el resto a un abono.
                                        cRefrendo c = new cRefrendo();
                                        c.IdPrestamo    = prestamo.IdPrestamo;
                                        c.Refrendo      = PagoMinimo;
                                        c.FechaRefrendo = dtpFechaRefrendo.SelectedDate.Value.ToShortDateString();
                                        c.Tipo          = "REFRENDO";
                                        String r = cRefrendo.AgregarRefrendo(c);

                                        String refrendoEx = c.Refrendo;

                                        float abono = float.Parse(tbRefrendo.Text) - float.Parse(PagoMinimo);
                                        c               = new cRefrendo();
                                        c.IdPrestamo    = prestamo.IdPrestamo;
                                        c.Refrendo      = abono.ToString();
                                        c.FechaRefrendo = dtpFechaRefrendo.SelectedDate.Value.ToShortDateString();
                                        c.Tipo          = "ABONO";
                                        cRefrendo.AgregarRefrendo(c);

                                        String abonoEx = c.Refrendo;

                                        CargarRefrendos();
                                        CargarIntereses();
                                        CalcularPagoMinimo();

                                        await Task.Run(() => CrearBoletaExcel(r, c, "ABONO", refrendoEx, abonoEx));

                                        if (MessageBox.Show("Se ha creado el recibo, ¿desea verlo?", "Atención", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                                        {
                                            System.Diagnostics.Process.Start(ruta);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("No ha escrito una cantidad correcta para el refrendo.");
                    }
                }
            }
        }