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); }
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(); } } }
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); }
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 { } }
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."); } } } }