示例#1
0
        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);
            }
        }