private void FReporteCuotas_Load(object sender, EventArgs e) { CConfiguracion cConfiguracion = new CConfiguracion(); Configuracion c = new Configuracion(); c = cConfiguracion.ObtenerConfiguracion(); string informacion = c.NombreEmpresa + " - " + c.Telefono; ReportParameter[] p = new ReportParameter[] { new ReportParameter("informacion", informacion), new ReportParameter("nombrenegocio", c.NombreEmpresa.ToString().ToUpper()), new ReportParameter("fechas", "Periodo del " + f1.Date.ToShortDateString() + " al " + f2.Date.ToShortDateString()) }; List <Pagos> listado = new List <Pagos>(); CPagos cPagos = new CPagos(); listado = cPagos.ListadoReporte(f1, f2); ReportDataSource rds = new ReportDataSource(); rds.Name = "Listado"; rds.Value = listado; this.reportViewer1.LocalReport.DataSources.Add(rds); this.reportViewer1.LocalReport.SetParameters(p); this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout); this.reportViewer1.RefreshReport(); }
private void button1_Click(object sender, EventArgs e) { decimal total = decimal.Parse(txtpago.Text); FCobro f = new FCobro(total); f.ShowDialog(); if (f.DialogResult == DialogResult.OK) { int documento = 1, correlativo = ObtenerCorrelativo(); DateTime fecha = DateTime.Now; CCuota cCuota = new CCuota(); Cuotas cuota = this.cuota; if (soloACapital) { //averiguando la cuota anterior Cuotas c1 = new Cuotas(); c1 = cCuota.CuotaAnterior(cuota.IdCuota); if (c1 != null) { cuota = c1; } } Pagos pago = new Pagos(); pago.IdCuota_FK = cuota.IdCuota; pago.FechaPago = fecha; pago.Correlativo = correlativo; pago.IdCorrelativo_FK = 1; pago.Recibido = f.recibe; pago.Cambio = f.cambio; pago.Monto = total; pago.AMora = mora; pago.ACapital = decimal.Parse(txtacapital.Text); pago.AIntereses = decimal.Parse(txtaintereses.Text); pago.ACApitalExtra = decimal.Parse(txtcapitalextra.Text); pago.CapitalRestante = decimal.Parse(txtcapitaldespues.Text); if (otrafecha.Checked) { pago.FechaPago = dateTimePickerFechaPago.Value; } cuota.CapitalPendiente = pago.CapitalRestante; if (pago.Monto >= cuota.Monto && soloACapital == false) { cuota.FechaDePago = pago.FechaPago; cuota.Cancelada = 1; } if (soloACapital == false) { cuota.mora = pago.AMora; cuota.AIntereses = pago.AIntereses; cuota.ACapital = pago.ACapital; cuota.ACapitalExtra = pago.ACApitalExtra; cuota.CapitalPendiente = pago.CapitalRestante; cuota.Intereses = cuota.Intereses - cuota.AIntereses; cuota.Capital = cuota.Capital - cuota.ACapital; cuota.Monto = cuota.Intereses + cuota.Capital; } else { cuota.ACapitalExtra = pago.ACApitalExtra; } CPagos cPagos = new CPagos(); cPagos.Insertar(pago); int si = cCuota.Insertar(cuota); CContratos cContratos = new CContratos(); con contrato = new con(); contrato = cContratos.uno(cuota.IdContrato_FK); contrato.Restante = pago.CapitalRestante; cContratos.ActualizarRestante(contrato); MessageBox.Show("Pago realizado con éxito"); try { if (!checkBoxNoTicket.Checked) { imprimirTicket(pago); } } catch (Exception) { } this.Close(); } }
public void actualizarCuotasRestantes(int idContrato) { CContratos cContratos = new CContratos(); Contratos con = cContratos.uno(idContrato); decimal capital = Math.Round(con.Financiamiento.Value / con.Meses, 2); CPagos cPagos = new CPagos(); List <Cuotas> listado = this.Listado(idContrato); // Cuotas ultimapagada = listado.Where(x => x.Cancelada == 1).OrderByDescending(x => x.FechaDePago).First(); List <Cuotas> sinpagar = listado.Where(x => x.Cancelada == 0).ToList(); //decimal montoextra = ultimapagada.ACapitalExtra.Value; decimal montoextra = cPagos.extra(idContrato); //decimal sumarestante = sinpagar.Sum(x => x.Capital).Value; if (montoextra > 0) { int cuantascrubre = decimal.ToInt32(montoextra / capital); sinpagar = sinpagar.OrderByDescending(x => x.IdCuota).ToList(); int contador = 1; foreach (Cuotas item in sinpagar) { if (contador <= cuantascrubre) { item.Cancelada = 1; item.Monto = 0; //item.Capital = 0; item.Intereses = 0; item.FechaDePago = DateTime.Now; if (item.Capital < capital) { montoextra -= item.Capital.Value; } else { montoextra -= capital; } item.Capital = 0; int x = ActualizarCancelada(item); contador++; } else { if (montoextra > 0 && montoextra < capital) { item.Cancelada = 0; item.Monto = item.Monto - montoextra; item.Capital = item.Capital - montoextra; if (item.Capital.Value == 0) { item.Cancelada = 1; item.Monto = 0; item.Capital = 0; item.Intereses = 0; item.FechaDePago = DateTime.Now; } //item.Intereses = 0; int x = ActualizarCancelada(item); montoextra -= montoextra; } else { if (montoextra > capital) { item.Cancelada = 1; item.Monto = 0; //item.Capital = 0; item.Intereses = 0; item.FechaDePago = DateTime.Now; if (item.Capital < capital) { montoextra -= item.Capital.Value; } else { montoextra -= capital; } item.Capital = 0; int x = ActualizarCancelada(item); } } } } } }