public FCobroCuotaMoto(Cuotas cuota, decimal CapitalAcumulado, decimal InteresAcumulado, decimal mora, bool pagartodo) { // si la fecha de cuota ya paso cobrar!! CCuota cCuota = new CCuota(); //averiguando la cuota anterior Cuotas c1 = new Cuotas(); c1 = cCuota.CuotaAnterior(cuota.IdCuota); if (c1 != null) {// Si hay cuota anterior //DateDiff comparacion = new DateDiff(c1.Fecha.Value.Date, DateTime.Now.Date); //var mesesTranscurridos = comparacion.Months; if (DateTime.Now.Date > c1.Fecha.Value.Date) { } else { soloACapital = true; } if (c1.Cancelada == 1 && (c1.Fecha.Value.Date < cuota.Fecha.Value.Date)) { // soloACapital = true; } } else { if (cuota.Fecha.Value.Date > DateTime.Now.Date) { // soloACapital = true; } } if (DateTime.Now < cuota.Fecha.Value) { // soloACapital = true; } this.contrato = cuota.IdContrato_FK; this.idcuota = cuota.IdCuota; this.cuota = cuota; this.cacumulado = CapitalAcumulado; this.iacumulado = InteresAcumulado; if (mora > 0) { this.mora = Math.Round(cuota.Capital.Value * 0.05M, 2); } else { this.mora = 0; } InitializeComponent(); txtpago.Focus(); }
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(); } }