protected void btnGuardar_Click(object sender, EventArgs e)
        {
            String cfecLetra , ctipago;
            cfecLetra = txtFecha.Text;
            int nPrvCod = Convert.ToInt32(hdcodper.Value);
            if (rbtdias.Checked)
                ctipago = "D";
            else
                ctipago = "L";
            int cuotas = int.Parse(txtNumCuotas.Text);
            int icodigo, idetcodigo;
            Double monto_total = Double.Parse(lbpago.Text);
            Double monto_nota = Double.Parse(lbresta.Text);
            String moneda;
            moneda = ddlMoneda_new.SelectedValue;
            try
            {
                clsLetra _Letra = new clsLetra();
                letra obj = new letra();
                icodigo = Convert.ToInt32(_Letra.MaxOpeCod() + 1);
                obj.icodigo = icodigo;
                obj.itotcuota = cuotas;
                obj.nmontocuota = Convert.ToDecimal(monto_total);
                obj.cmoneda = moneda;
                obj.nintpag = Convert.ToDecimal(0.00);
                obj.iestado = "1";
                obj.dfeccreacion = Convert.ToDateTime(cfecLetra);
                obj.dfecmod = DateTime.Today;
                obj.ctippago = ctipago;
                obj.nmntnota = Convert.ToDecimal(monto_nota);
                _Letra.fnletraInsertar(obj);
                clsdetletra _detletra = new clsdetletra();

                foreach (GridViewRow row in dgvcuotas.Rows)
                {
                    det_letra _detobj = new det_letra();
                    _detobj.icodletra = icodigo;
                    _detobj.inumletra = Convert.ToInt32(row.Cells[0].Text);
                    TextBox num_let = row.FindControl("num_let") as TextBox;
                    _detobj.cnumletra = num_let.Text;
                    TextBox ccodletra = row.FindControl("cod_unic") as TextBox;
                    _detobj.ccodletra = ccodletra.Text;
                    TextBox monto = row.FindControl("monto") as TextBox;
                    _detobj.nmonto = Convert.ToDecimal(monto.Text);
                    _detobj.cestado = "1";
                    _detobj.ninteres = Convert.ToDecimal(0.00);
                    TextBox txtFecVen = row.FindControl("txtFecVen") as TextBox;
                    _detobj.dfecvenc = Convert.ToDateTime(txtFecVen.Text);
                    _detobj.dfecmod = DateTime.Today;
                    idetcodigo = Convert.ToInt32(_detletra.Maxdetletra_cod()) + 1;
                    _detobj.idetletra = idetcodigo;
                    _detletra.fndet_letraInsertar(_detobj);
                }
                clsDocumenOperacion _docobj = new clsDocumenOperacion();
                DocumenOperacion _docope = new DocumenOperacion();
                Int64 cod_fact;
                foreach (GridViewRow row in dgvListFact.Rows)
                {

                    CheckBox check = row.FindControl("CheckBox1") as CheckBox;
                    if (check.Checked)
                    {
                        cod_fact = Convert.ToInt64(row.Cells[2].Text);
                        //_docope = _docobj.GetListOperaciones(cod_fact );
                        _docope = _docobj.GetDocumenOperaciona(cod_fact);

                        _docope.icodletra = icodigo;
                        _docobj.fnDocOpeUpdate(_docope);
                    }
                }
                Int32 cod_not;
                clsOpeNotas _formnot = new clsOpeNotas();
                Notas _docopenot = new Notas();
                rel_notfactura _relacion = new rel_notfactura();
                clsrel_notfactura _formrel = new clsrel_notfactura();
                dgvNotas.Columns[3].Visible = true;
                dgvNotas.Columns[5].Visible = true;
                foreach (GridViewRow row in dgvNotas.Rows)
                {

                    CheckBox check = row.FindControl("grdchknota") as CheckBox;
                    if (check.Checked)
                    {
                        cod_not = Convert.ToInt32(row.Cells[5].Text);
                        //clsOpeNotas
                        _docopenot = _formnot.GetNota(cod_not);
                        _docopenot.cestadoNota = "V";
                        _docopenot.nmntutilizado = _docopenot.nmontoNota;
                        _formnot.fnNotaUpdate(_docopenot);

                        _relacion.idtpcod = icodigo;
                        _relacion.inota = cod_not;
                        _relacion.nmonto = _docopenot.nmontoNota;
                        _relacion.dfecmod = DateTime.Today;
                        //_relacion .iusrcrc
                        _relacion.irelnotfac = Convert.ToInt32(_formrel.MaxOpeCod()) + 1;
                        _formrel.fnNotaInsert(_relacion);
                    }
                }
                dgvNotas.Columns[3].Visible = false;
                dgvNotas.Columns[5].Visible = false;
                IniciarCampos();

                obj = _Letra.GetLetra(icodigo);
                obj.iestado = "1";
                _Letra.fnletraupdate(obj);
                pnBusqueda.Visible = true;
                pnNuevo.Visible = false;
                IniciarCampos();
                btnProcesar_Click(sender, e);
            }
            catch (Exception ex)
            {
                MessageBox("Error Interno: " + ex.Message);
            }
        }
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            clsOpeNotas form = new clsOpeNotas();
            Notas obj = new Notas();
            if (lblProceso.Value == Convert.ToString("Nuevo"))
            {
                if (int.Parse(hdcodper.Value) == 0 || txtCodNota.Text.Length == 0
                   || txtmonto.Text.Length == 0)
                {
                    lbmensaje.Visible = true;
                }
                else {
                    lbmensaje.Visible = false;
                    obj.inota = Convert.ToInt32(form.MaxOpeCod()) + 1;
                    obj.dfecreg = Convert.ToDateTime(txtfecpro.Text);
                    obj.ccodnota = txtCodNota.Text;
                    obj.iprvcod = int.Parse(hdcodper.Value);
                    obj.nmontoNota = Convert.ToDecimal(txtmonto.Text);
                    obj.cestadoNota = "N";
                    obj.nmntutilizado = Convert.ToDecimal(0.00);
                    obj.cobservaciones = txtobservaciones.Text;
                    obj.ctipo = "V";
                    obj.OpeMoneda = ddlMoneda_new.SelectedValue.Trim();
                    obj.ctipNota = ddlTipNot_new.SelectedValue.Trim();
                    form.fnNotaInsert(obj);
                    IniciarCampos();
                    ddlClientes.SelectedValue = hdcodper.Value;
                    btnProcesar_Click(sender, e);
                }
            }
            else{
                if ( txtCodNota.Text.Length == 0|| txtmonto.Text.Length == 0)
                {
                    lbmensaje.Visible = true;
                }
                else
                {
                    double monto= Convert.ToDouble(txtmonto.Text);
                    double mnt_util = Convert.ToDouble(txtmontoutl.Text);
                    if (mnt_util > monto)
                    {
                        lbmensaje.Text = "El monto a actualizar no puede ser menor al ya utilizado";
                        lbmensaje.Visible = true;
                    }
                    else
                    {
                        lbmensaje.Visible = false;
                        obj = form.GetNota(Convert.ToInt32(lblOpeCodigo.Value));
                        obj.dfecreg = Convert.ToDateTime(txtfecpro.Text);
                        obj.ccodnota = txtCodNota.Text;
                        obj.nmontoNota = Convert.ToDecimal(txtmonto.Text);
                        obj.cestadoNota = "N";
                        obj.cobservaciones = txtobservaciones.Text;
                        obj.ctipo = "V";
                        obj.ctipNota = ddlTipNot_new.SelectedValue.Trim();
                        form.fnNotaUpdate(obj);
                        IniciarCampos();

                        dgvNotas.Columns[3].Visible = false;
                        dgvNotas.Columns[13].Visible = false;
                        dgvNotas.Columns[15].Visible = false;
                    }
                }
            }
            btnProcesar_Click(sender, e);
        }