private void BtEliminar_Click(object sender, EventArgs e) { try { if (MessageBox.Show("¿Está seguro de eliminar el Pago?", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { TipoCuotaValor(comboTipoPago.Text); if (valdescuento != 0) { DataTable DtCuotasPagas = cuota.CuotasPagas(int.Parse(DtFinanciacion.Rows[0]["Id_Financiacion"].ToString())); if (comboDescuento.Text == "Pago anticipado") { if (DtFinanciacion.Rows[0]["Id_Refinanciacion"].ToString() == "") { DataRow[] CuotaPagoAnticipo = DtCuotasPagas.Select(String.Format("Num_Cuota = '{0}' AND Tipo like '%{1}%'", txtCuota.Text, TipoPago)); if (CuotaPagoAnticipo.Length > 0) { DataTable dt1 = CuotaPagoAnticipo.CopyToDataTable(); cuota.ModificarCuota(int.Parse(dt1.Rows[0]["Id_Cuota"].ToString()), int.Parse(dt1.Rows[0]["Num_Cuota"].ToString()), ValorCuota, dt1.Rows[0]["Tipo"].ToString(), dt1.Rows[0]["Fecha"].ToString(), EvaluaEstadoCuotaFecha(Convert.ToDateTime(dt1.Rows[0]["Fecha"].ToString())), double.Parse(dt1.Rows[0]["Aporte_Pagos"].ToString())); } //cuota.ModificarCuota(int.Parse(DTCuotasInactivas.Rows[i]["Id_Cuota"].ToString()), int.Parse(DTCuotasInactivas.Rows[i]["Num_Cuota"].ToString()), double.Parse(DTCuotasInactivas.Rows[i]["Valor_Cuota"].ToString()), DTCuotasInactivas.Rows[i]["Tipo"].ToString(), DTCuotasInactivas.Rows[i]["Fecha"].ToString(), EvaluaEstadoCuotaFecha(Convert.ToDateTime(DTCuotasInactivas.Rows[i]["Fecha"].ToString())), double.Parse(DTCuotasInactivas.Rows[i]["Aporte_Pagos"].ToString())); DataTable DTCuotasInactivas = cuota.ListarCuotasActivarDelect(int.Parse(DtFinanciacion.Rows[0]["Id_Financiacion"].ToString())); for (int i = 0; i < DTCuotasInactivas.Rows.Count; i++) { cuota.ModificarCuota(int.Parse(DTCuotasInactivas.Rows[i]["Id_Cuota"].ToString()), int.Parse(DTCuotasInactivas.Rows[i]["Num_Cuota"].ToString()), double.Parse(DTCuotasInactivas.Rows[i]["Valor_Cuota"].ToString()), DTCuotasInactivas.Rows[i]["Tipo"].ToString(), DTCuotasInactivas.Rows[i]["Fecha"].ToString(), EvaluaEstadoCuotaFecha(Convert.ToDateTime(DTCuotasInactivas.Rows[i]["Fecha"].ToString())), double.Parse(DTCuotasInactivas.Rows[i]["Aporte_Pagos"].ToString())); } } } else { DataRow[] CuotaPagoDescuento = DtCuotasPagas.Select(String.Format("Num_Cuota = '{0}' AND Tipo like '%{1}%'", txtCuota.Text, TipoPago)); if (CuotaPagoDescuento.Length > 0) { DataTable dt1 = CuotaPagoDescuento.CopyToDataTable(); cuota.ModificarCuota(int.Parse(dt1.Rows[0]["Id_Cuota"].ToString()), int.Parse(dt1.Rows[0]["Num_Cuota"].ToString()), ValorCuota, dt1.Rows[0]["Tipo"].ToString(), dt1.Rows[0]["Fecha"].ToString(), EvaluaEstadoCuotaFecha(Convert.ToDateTime(dt1.Rows[0]["Fecha"].ToString())), double.Parse(dt1.Rows[0]["Aporte_Pagos"].ToString())); } } pago.EliminarPago(pagoId); double nuevo = valortotal + valdescuento; producto.actualizarValorProducto(productoid, nuevo); financiacion.actualizarFinanciacion(int.Parse(DtFinanciacion.Rows[0]["Id_Financiacion"].ToString()), nuevo, int.Parse(DtFinanciacion.Rows[0]["Valor_Entrada"].ToString()), int.Parse(DtFinanciacion.Rows[0]["Valor_Sin_interes"].ToString()), double.Parse(DtFinanciacion.Rows[0]["Valor_Cuota_Sin_interes"].ToString()), int.Parse(DtFinanciacion.Rows[0]["Cuotas_Sin_interes"].ToString()), double.Parse(DtFinanciacion.Rows[0]["Valor_Con_Interes"].ToString()), int.Parse(DtFinanciacion.Rows[0]["Cuotas_Con_Interes"].ToString()), double.Parse(DtFinanciacion.Rows[0]["Valor_Cuota_Con_Interes"].ToString()), int.Parse(DtFinanciacion.Rows[0]["Valor_Interes"].ToString()), DtFinanciacion.Rows[0]["Fecha_Recaudo"].ToString(), productoid); } else { pago.EliminarPago(pagoId); } DataTable DtBalanceCuota = cuota.BalanceCuota(int.Parse(txtCuota.Text), productoid, TipoPago); int TemAportes = 0; if (!DtBalanceCuota.Rows[0].IsNull("valor")) { TemAportes = int.Parse(DtBalanceCuota.Rows[0]["valor"].ToString()); } cuota.ActulziarCuotaRegistroPago(int.Parse(txtCuota.Text), TemAportes, DtBalanceCuota.Rows[0]["result"].ToString(), int.Parse(DtFinanciacion.Rows[0]["Id_Financiacion"].ToString()), TipoPago); cartera.ActulizarValorTotal(int.Parse(clienteId.ToString()), carteraId); cartera.ActulizarValorRecaudado(carteraId); cartera.ActulizarSaldo(carteraId); this.DialogResult = DialogResult.OK; this.Close(); } } catch (Exception ex) { MessageBox.Show("Error: " + ex); } }