private void BtRegistrarPago_Click(object sender, EventArgs e) { Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ES"); try { var numberFormatInfo = new NumberFormatInfo(); numberFormatInfo.NumberDecimalSeparator = ","; //MessageBox.Show("ensayo "+Convert.ToDouble(txtValor.Text, CultureInfo.CurrentCulture).ToString().Replace(",", ".") + " "+ double.Parse(Convert.ToDouble(txtValor.Text).ToString(), CultureInfo.CurrentCulture)); ValidarCampos(); if ((error != true) && (ValidarCampos() == true)) { //TipoCuotaValor(comboTipoPago.Text); double NuevoValor = 0; if (modificar == false) { if (comboDescuento.Text == "Seleccionar") { pago.RegistrarPago(comboTipoPago.Text, txtCuota.Text, dateFechaPago.Text, txtConcepto.Text, TxtEntidad.Text, txtReferencia.Text, Convert.ToDouble(txtValor.Text.Replace(".", ""), numberFormatInfo), "", 0, productoid.ToString()); } else { int TemAportes = 0; if (DtCuotas.Rows[0]["Aporte_Pagos"].ToString() != "") { TemAportes = int.Parse(DtCuotas.Rows[0]["Aporte_Pagos"].ToString()); } NuevoValor = valortotal - Convert.ToDouble(double.Parse(txtValorDescuento.Text), CultureInfo.CurrentCulture); if (comboDescuento.Text == "Pago anticipado") { for (int i = 0; i < DtCuotas.Rows.Count; i++) { if (i == 0) { //string temvalor = Convert.ToDouble(txtValor.Text, CultureInfo.CurrentCulture).ToString().Replace(",", ".").Replace(".","); //double.TryParse(temvalor, NumberStyles.Number, CultureInfo.CreateSpecificCulture("es-CO"), out double price); cuota.ModificarCuota(int.Parse(DtCuotas.Rows[i]["Id_Cuota"].ToString()), int.Parse(DtCuotas.Rows[i]["Num_Cuota"].ToString()), Convert.ToDouble(txtValor.Text.Replace(".", ""), numberFormatInfo), DtCuotas.Rows[i]["Tipo"].ToString(), DtCuotas.Rows[i]["Fecha"].ToString(), DtCuotas.Rows[i]["Estado"].ToString(), TemAportes); } else { cuota.ModificarCuota(int.Parse(DtCuotas.Rows[i]["Id_Cuota"].ToString()), int.Parse(DtCuotas.Rows[i]["Num_Cuota"].ToString()), double.Parse(DtCuotas.Rows[i]["Valor_Cuota"].ToString()), DtCuotas.Rows[i]["Tipo"].ToString(), DtCuotas.Rows[i]["Fecha"].ToString(), "Inactiva", TemAportes); } } } else { cuota.ModificarCuota(int.Parse(DtCuotas.Rows[0]["Id_Cuota"].ToString()), int.Parse(DtCuotas.Rows[0]["Num_Cuota"].ToString()), (double.Parse(DtCuotas.Rows[0]["Valor_Cuota"].ToString()) - double.Parse(Convert.ToDouble(txtValorDescuento.Text).ToString())), DtCuotas.Rows[0]["Tipo"].ToString(), DtCuotas.Rows[0]["Fecha"].ToString(), DtCuotas.Rows[0]["Estado"].ToString(), TemAportes); } pago.RegistrarPago(comboTipoPago.Text, txtCuota.Text, dateFechaPago.Text, txtConcepto.Text, TxtEntidad.Text, txtReferencia.Text, Convert.ToDouble(txtValor.Text.Replace(".", ""), numberFormatInfo), comboDescuento.Text, Convert.ToDouble(txtValorDescuento.Text.Replace(".", ""), numberFormatInfo), productoid.ToString()); producto.actualizarValorProducto(productoid, NuevoValor); cartera.ActulizarValorTotal(int.Parse(clienteId.ToString()), carteraId); financiacion.actualizarFinanciacion(int.Parse(DtFinanciacion.Rows[0]["Id_Financiacion"].ToString()), NuevoValor, 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 { double OldValor = 0; string descuento = ""; string valordescuento = ""; double tempdescuento; if (comboDescuento.Text != "Seleccionar") { descuento = comboDescuento.Text; valordescuento = Convert.ToDouble(txtValorDescuento.Text).ToString(); if (valdescuento >= Convert.ToDouble(txtValorDescuento.Text)) { tempdescuento = valdescuento - Convert.ToDouble(txtValorDescuento.Text); NuevoValor = valortotal - (double)tempdescuento; } else { tempdescuento = Convert.ToDouble(txtValorDescuento.Text) - valdescuento; NuevoValor = valortotal + (double)tempdescuento; } } else { NuevoValor = valortotal; } pago.ActulizarPago(pagoId, comboTipoPago.Text, txtCuota.Text, dateFechaPago.Text, txtConcepto.Text, TxtEntidad.Text, txtReferencia.Text, Convert.ToDouble(txtValor.Text).ToString(), descuento, valordescuento); DataTable DtBalanceCuotaOLD = cuota.BalanceCuota(int.Parse(OldNumCuota), productoid, TipoPago); if (!DtBalanceCuotaOLD.Rows[0].IsNull("valor")) { OldValor = int.Parse(DtBalanceCuotaOLD.Rows[0]["valor"].ToString()); } cuota.ActulziarCuotaRegistroPago(int.Parse(OldNumCuota), OldValor, DtBalanceCuotaOLD.Rows[0]["result"].ToString(), int.Parse(DtFinanciacion.Rows[0]["Id_Financiacion"].ToString()), TipoPago); producto.actualizarValorProducto(productoid, NuevoValor); cartera.ActulizarValorTotal(int.Parse(clienteId.ToString()), carteraId); financiacion.actualizarFinanciacion(int.Parse(DtFinanciacion.Rows[0]["Id_Financiacion"].ToString()), NuevoValor, 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); modificar = false; } DataTable DtBalanceCuota = cuota.BalanceCuota(int.Parse(txtCuota.Text), productoid, TipoPago); double valCuota = ValorCuota - double.Parse(DtBalanceCuota.Rows[0]["descuento"].ToString()); cuota.ActulziarCuotaRegistroPago(int.Parse(txtCuota.Text), double.Parse(DtBalanceCuota.Rows[0]["valor"].ToString()), DtBalanceCuota.Rows[0]["result"].ToString(), int.Parse(DtFinanciacion.Rows[0]["Id_Financiacion"].ToString()), TipoPago); cartera.ActulizarValorRecaudado(carteraId); cartera.ActulizarSaldo(carteraId); this.DialogResult = DialogResult.OK; this.Close(); } } catch (Exception ex) { MessageBox.Show("Error registro" + ex); } }