private void btnGrabar_Click(object sender, EventArgs e)
        {
            DateTime        fechaDia  = DateTime.Now;
            int             lnId      = _listaRecibida[0].Id;
            MySqlConnection cnxGrabar = Clases.Database.obtenerConexion(true);
            // objeto transaccional
            MySqlTransaction tran = null;
            // string para transaccion
            string strSQL = "";
            // objeto command para ejecucion del query
            MySqlCommand command = new MySqlCommand();

            if (optRecibo.Checked == true)
            {
            }
            else
            {
                // seteo de atributos del command
                command.Connection     = cnxGrabar;
                command.CommandType    = CommandType.Text;
                command.CommandTimeout = 0;

                try
                {
                    // abrir la conexion
                    if (cnxGrabar.State != ConnectionState.Open)
                    {
                        cnxGrabar.Open();
                    }
                    // comenzamos la transaccion
                    tran = cnxGrabar.BeginTransaction();
                    // asignamos transaccion al command
                    command.Transaction = tran;

                    // preparamos Insert Pedido
                    strSQL = "Insert Into tentativaenc (pactadoFecha, nroTentativa, carpetaNombre, contrato, comentario, realizadoPor, Id, Numero_Letra, Honorarios, Cheques, Efectivo, Capital, Punitorios, Interes, Gastos, PorInteres, PorGastos, PorBancario, PorIva, PorHonorario, ChkEfectivo) values (@pactadoFecha, @nroTentativa, @carpetaNombre, @contrato, @comentario, @realizadoPor, @Id, @Numero_Letra, @Honorarios, @Cheques, @Efectivo, @Capital, @Punitorios, @Interes, @Gastos, @PorInteres, @PorGastos, @PorBancario, @PorIva, @PorHonorario, @ChkEfectivo)";
                    // reasignamos el string sql al command
                    command.Parameters.Clear();
                    command.CommandText = strSQL;
                    command.Parameters.AddWithValue("@pactadoFecha", fechaDia);
                    command.Parameters.AddWithValue("@nroTentativa", Rutinas.ConvertirStr(txtNroTentativa.Text, "I"));
                    command.Parameters.AddWithValue("@carpetaNombre", txtApellidoyNombre.Text);
                    command.Parameters.AddWithValue("@contrato", txtContrato.Text);
                    command.Parameters.AddWithValue("@comentario", txtComentario.Text);
                    command.Parameters.AddWithValue("@realizadoPor", VariablesGlobales.Usuario);
                    command.Parameters.AddWithValue("@Id", lnId);
                    command.Parameters.AddWithValue("@Numero_Letra", Rutinas.ConvertirStr(txtNumero.Text, "I"));
                    command.Parameters.AddWithValue("@Honorarios", Rutinas.ConvertirStr(txtHonorario.Text, "D"));
                    command.Parameters.AddWithValue("@Cheques", Rutinas.ConvertirStr(txtImporteCheques.Text, "D"));
                    command.Parameters.AddWithValue("@Efectivo", Rutinas.ConvertirStr(txtImporteEf.Text, "D"));
                    command.Parameters.AddWithValue("@Capital", Rutinas.ConvertirStr(txtSumaCapital.Text, "D"));
                    command.Parameters.AddWithValue("@Punitorios", Rutinas.ConvertirStr(txtSumaPunitorio.Text, "D"));
                    command.Parameters.AddWithValue("@Interes", Rutinas.ConvertirStr(txtSumaFinanciero.Text, "D"));
                    command.Parameters.AddWithValue("@Gastos", Rutinas.ConvertirStr(txtSumaGastos.Text, "D"));
                    command.Parameters.AddWithValue("@PorInteres", Rutinas.ConvertirStr(txtInteres.Text, "D"));
                    command.Parameters.AddWithValue("@PorGastos", Rutinas.ConvertirStr(txtGastos.Text, "D"));
                    command.Parameters.AddWithValue("@PorBancario", Rutinas.ConvertirStr(txtBancario.Text, "D"));
                    command.Parameters.AddWithValue("@PorIva", Rutinas.ConvertirStr(txtIva.Text, "D"));
                    command.Parameters.AddWithValue("@PorHonorario", Rutinas.ConvertirStr(txtHonorarios.Text, "D"));
                    command.Parameters.AddWithValue("@ChkEfectivo", "N");
                    // ejecutamos Insert
                    command.ExecuteNonQuery();

                    // si todo salio bien commiteamos los cambios
                    tran.Commit();
                    // emitimos el aviso exitoso
                    //MessageBox.Show("Actualizado");
                }
                catch (Exception ex)
                {
                    // si algo fallo deshacemos todo
                    tran.Rollback();
                    // mostramos el mensaje del error
                    //MessageBox.Show(ex.Message);
                }
                finally
                {
                    MaxIDTen = Rutinas.LastId();
                    // cerramos la conexion
                    //if (cnxGrabar.State != ConnectionState.Closed)
                    //    cnxGrabar.Close();
                    // destruimos la conexion
                    //cnxGrabar.Dispose();
                }

                if (txtComentario.Text != string.Empty)
                {
                    // seteo de atributos del command
                    command.Connection     = cnxGrabar;
                    command.CommandType    = CommandType.Text;
                    command.CommandTimeout = 0;

                    try
                    {
                        // abrir la conexion
                        if (cnxGrabar.State != ConnectionState.Open)
                        {
                            cnxGrabar.Open();
                        }
                        // comenzamos la transaccion
                        tran = cnxGrabar.BeginTransaction();
                        // asignamos transaccion al command
                        command.Transaction = tran;

                        // preparamos Insert Pedido
                        strSQL = "Insert into comentarios (comentarios_Fecha, comentarios_Comentario, comentarios_Operador, contrato, carpeta) values (@comentarios_Fecha, @comentarios_Comentario, @comentarios_Operador, @contrato, @carpeta)";
                        // reasignamos el string sql al command
                        command.Parameters.Clear();
                        command.CommandText = strSQL;
                        command.Parameters.AddWithValue("@comentarios_Fecha", fechaDia);
                        command.Parameters.AddWithValue("@comentarios_Comentario", txtComentario.Text);
                        command.Parameters.AddWithValue("@comentarios_Operador", VariablesGlobales.Usuario);
                        command.Parameters.AddWithValue("@contrato", txtContrato.Text);
                        command.Parameters.AddWithValue("@carpeta", txtNumero.Text);
                        // ejecutamos Insert
                        command.ExecuteNonQuery();

                        // si todo salio bien commiteamos los cambios
                        tran.Commit();
                        // emitimos el aviso exitoso
                        //MessageBox.Show("Actualizado");
                    }
                    catch (Exception ex)
                    {
                        // si algo fallo deshacemos todo
                        tran.Rollback();
                        // mostramos el mensaje del error
                        //MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                        // cerramos la conexion
                        //if (cnxGrabar.State != ConnectionState.Closed)
                        //    cnxGrabar.Close();
                        // destruimos la conexion
                        //cnxGrabar.Dispose();
                    }
                    txtComentario.Text = "";
                }
                int IdEstadoC = Rutinas.BuscarEstado(cboEstadoCarpeta.Text);
                UpdateTra(IdEstadoC);
                string sRT        = "R";
                string strReciboT = "Recibo";
                if (optRecibo.Checked == true)
                {
                    sRT        = "R";
                    strReciboT = "Recibo";
                }
                else
                {
                    sRT        = "T";
                    strReciboT = "Tentativa";
                }
                string sComentarioTentativa = "Se realizo " + strReciboT + " Nro.:" + txtNroTentativa.Text + " Capital=" + txtSumaCapital.Text + " Interes=" + (Convert.ToDouble(txtSumaPunitorio.Text) + Convert.ToDouble(txtSumaFinanciero.Text)) + " Gastos=" + Convert.ToDouble(txtSumaGastos.Text) + " Total=" + Convert.ToDouble(txtTotalGral.Text) + " Honorarios=" + txtHonorario.Text + " de cuota/s=" + txtEscribeCuotas;
                InsertaCom(DateTime.Now, sComentarioTentativa, VariablesGlobales.Usuario, txtContrato.Text, Convert.ToInt32(txtNumero.Text));
                //Reccorro cuotas
                string         rowCuota     = "";
                double         rowCapital   = 0;
                double         rowPunitorio = 0;
                double         rowIntereses = 0;
                double         rowGastos    = 0;
                double         rowTotal     = 0;
                bool           bolCuotas    = false;
                DateTimePicker dtpCompare   = new DateTimePicker();
                DateTime       dtFechaVenc  = new DateTime();
                for (int i = 0; i < dgvDeuda.Rows.Count; i++)
                {
                    bool checkedCell = (bool)dgvDeuda.Rows[i].Cells[0].Value;
                    if (checkedCell == true)
                    {
                        dtFechaVenc      = Convert.ToDateTime(dgvDeuda.Rows[i].Cells[1].Value.ToString());
                        rowCuota         = dgvDeuda.Rows[i].Cells[2].Value.ToString();
                        rowCapital       = Convert.ToDouble(dgvDeuda.Rows[i].Cells[3].Value);
                        rowPunitorio     = Convert.ToDouble(dgvDeuda.Rows[i].Cells[4].Value);
                        dtpCompare.Value = Convert.ToDateTime(dgvDeuda.Rows[i].Cells[5].Value);
                        rowIntereses     = Convert.ToDouble(dgvDeuda.Rows[i].Cells[6].Value);
                        rowGastos        = Convert.ToDouble(dgvDeuda.Rows[i].Cells[7].Value);
                        rowTotal         = Convert.ToDouble(dgvDeuda.Rows[i].Cells[8].Value);
                        bolCuotas        = Rutinas.InsertaCuota(MaxIDTen, rowCuota, dtFechaVenc, dtpCompare.Value, rowCapital, rowPunitorio, rowIntereses, rowGastos, 0, 0);
                    }
                }
                btnGrabar.Enabled   = false;
                btnImprimir.Enabled = true;
            }
        }