private void CargarDatos()
        {
            var usuarioInfo = ObtenerUsuarioInfo();
            var script      = new StringBuilder("");

            grvVenta.DataBind();
            int numeroRegistros = Convert.ToInt16(ddlNumeroRegistros.SelectedValue);
            int numeroPagina    = Convert.ToInt16(ViewState["PageIndex"]);

            int indicePagina = numeroPagina == 0 ? 0 : numeroPagina - 1;

            pageIndex = indicePagina + 1;

            var compraInfoLista = new Negocio.Compra().ListarPaginado(0, 0, usuarioInfo.TipoNegocioId, numeroRegistros, indicePagina);

            grvVenta.DataSource = compraInfoLista;
            grvVenta.DataBind();

            if (compraInfoLista.Count > 0)
            {
                grvVenta.HeaderRow.Attributes["style"] = "display: none";
                grvVenta.UseAccessibleHeader           = true;
                grvVenta.HeaderRow.TableSection        = TableRowSection.TableHeader;
            }
            rowCount  = compraInfoLista.Count > 0 ? compraInfoLista.First().TotalFilas : 0;
            pageCount = CalcPageCount(rowCount);
            ViewState["PageCount"] = pageCount;

            #region Texto del Pie de Página
            if (compraInfoLista.Count > 0)
            {
                if (numeroRegistros == 0)
                {
                    lblPaginacion.Text = "Página " + pageIndex.ToString("") + " de 1, con un Total de " + rowCount.ToString("") + " registros";
                    script.Append("document.getElementById('lblPaginacion').innerText = '");
                    script.Append("Página " + pageIndex.ToString("") + " de 1, con un Total de " + rowCount.ToString("") + " registros';");
                }
                else
                {
                    lblPaginacion.Text = "Página " + pageIndex.ToString("") + " de " + pageCount.ToString("") + ", con un Total de " + rowCount.ToString("") + " registros";
                    script.Append("document.getElementById('lblPaginacion').innerText = '");
                    script.Append("Página " + pageIndex.ToString("") + " de " + pageCount.ToString("") + ", con un Total de " + rowCount.ToString("") + " registros';");
                }
            }
            else
            {
                lblPaginacion.Text = "No se obtuvieron resultados";
                script.Append("document.getElementById('lblPaginacion').innerText = 'No se obtuvieron resultados';");
            }
            #endregion

            RefreshPageButtons();
            RegistrarScript(script.ToString(), "Paginacion");
        }
        private void CargarDatos(int codigoCompra)
        {
            var usuarioInfo = ObtenerUsuarioInfo();
            var script      = new StringBuilder("");

            grvVenta.DataBind();
            int numeroRegistros = 10;
            int numeroPagina    = Convert.ToInt16(ViewState["PageIndex"]);

            int indicePagina = numeroPagina == 0 ? 0 : numeroPagina - 1;

            pageIndex = indicePagina + 1;

            #region Cargar Datos Compra
            var compra    = new Negocio.Compra().ListarPaginado(codigoCompra, 0, usuarioInfo.TipoNegocioId, 0, 0).First();
            var proveedor = new Negocio.Proveedor().Listar(compra.ProveedorId).First();
            ddlTipoComprobante.SelectedValue = "0" + compra.TipoDocumentoId.ToString();
            txtSerie.Text           = compra.NumeroSerie;
            txtNumeroDocumento.Text = compra.NumeroComprobante;

            ddlMoneda.SelectedValue = compra.MonedaId.ToString();

            txtFechaEmision.Text             = compra.FechaEmision.ToString("dd/MM/yyyy");
            txtProveedor.Text                = proveedor.Nombre;
            txtDireccion.Text                = proveedor.Direccion;
            txtNumeroDocumentoProveedor.Text = proveedor.NumeroDocumento;
            txtGlosa.Text = compra.Glosa;
            lblComprobanteSubTotal.Text = compra.SubTotal.ToString("###,##0.#0");
            lblComprobanteIgv.Text      = compra.Igv.ToString("###,##0.#0");
            lblComprobanteTotal.Text    = compra.Total.ToString("###,##0.#0");

            hdnProveedorId.Value         = proveedor.ProveedorId.ToString();
            hdnEstadoComprobanteId.Value = compra.EstadoComprobanteId.ToString();

            var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaMotivoIngresoCompra).ToList();
            if (("0" + compra.TipoDocumentoId.ToString()).Equals("01") || ("0" + compra.TipoDocumentoId.ToString()).Equals("09"))
            {
                tablaMaestraInfo = tablaMaestraInfo.Where(x => x.Codigo == Constantes.MotivoIngresoCompraPorVenta.ToString()).ToList();
            }
            else
            {
                tablaMaestraInfo = tablaMaestraInfo.Where(x => x.Codigo != Constantes.MotivoIngresoCompraPorVenta.ToString()).ToList();
            }
            LlenarCombo(ddlMotivoIngreso, tablaMaestraInfo, "Codigo", "NombreLargo");
            ddlMotivoIngreso.SelectedValue = compra.MotivoIngresoId.ToString();

            if (compra.EstadoComprobanteId == Constantes.EstadoComprobanteCompraAnulado)
            {
                ddlTipoComprobante.Enabled  = false;
                txtSerie.ReadOnly           = true;
                txtNumeroDocumento.ReadOnly = true;
                ddlMoneda.Enabled           = false;
                ddlAlmacen.Enabled          = false;
                txtFechaEmision.ReadOnly    = true;
                txtProveedor.ReadOnly       = true;
                txtGlosa.ReadOnly           = true;

                btnAgregarItem.Enabled   = false;
                btnCancelar.Enabled      = false;
                ddlMotivoIngreso.Enabled = false;

                lblDetalleCompra.Text = "DETALLE COMPRA";

                script.Append("document.getElementById('lblDetalleCompra').className ='lblTitulo';");
                script.Append("document.getElementById('trDatosProducto').style.display='none';");
                script.Append("document.getElementById('trMontosProducto').style.display='none';");
                script.Append("document.getElementById('trOpcionesItem').style.display='none';");
                script.Append("document.getElementById('imgBuscarCliente').style.display='none';");
                script.Append("document.getElementById('imgFechaEmision').style.display='none';");

                script.Append("document.getElementById('btnGuardar').style.display='none';");
                script.Append("document.getElementById('btnCerrar').style.display='';");
            }
            else
            {
                txtProveedor.ReadOnly = true;
                txtGlosa.ReadOnly     = true;
                script.Append("document.getElementById('imgBuscarCliente').style.display='none';");
                script.Append("document.getElementById('btnAnular').style.display='';");
            }

            #endregion

            var compraInfoLista = new Negocio.Compra().ListarComprasDetalle(0, codigoCompra);
            grvVenta.DataSource = compraInfoLista;
            grvVenta.DataBind();

            if (compraInfoLista.Count > 0)
            {
                grvVenta.HeaderRow.Attributes["style"] = "display: none";
                grvVenta.UseAccessibleHeader           = true;
                grvVenta.HeaderRow.TableSection        = TableRowSection.TableHeader;

                Session["CompraDetalle"] = compraInfoLista;
            }
            else
            {
                Session["CompraDetalle"] = null;
            }
            rowCount  = compraInfoLista.Count > 0 ? compraInfoLista.First().TotalFilas : 0;
            pageCount = CalcPageCount(rowCount);
            ViewState["PageCount"] = pageCount;

            #region Texto del Pie de Página
            if (compraInfoLista.Count > 0)
            {
                if (numeroRegistros == 0)
                {
                    lblPaginacion.Text = "Página " + pageIndex.ToString("") + " de 1, con un Total de " + rowCount.ToString("") + " registros";
                    script.Append("document.getElementById('lblPaginacion').innerText = '");
                    script.Append("Página " + pageIndex.ToString("") + " de 1, con un Total de " + rowCount.ToString("") + " registros';");
                }
                else
                {
                    lblPaginacion.Text = "Página " + pageIndex.ToString("") + " de " + pageCount.ToString("") + ", con un Total de " + rowCount.ToString("") + " registros";
                    script.Append("document.getElementById('lblPaginacion').innerText = '");
                    script.Append("Página " + pageIndex.ToString("") + " de " + pageCount.ToString("") + ", con un Total de " + rowCount.ToString("") + " registros';");
                }
            }
            else
            {
                lblPaginacion.Text = "No se obtuvieron resultados";
                script.Append("document.getElementById('lblPaginacion').innerText = 'No se obtuvieron resultados';");
            }
            #endregion

            RefreshPageButtons();
            RegistrarScript(script.ToString(), "Paginacion");
        }