public void cargarGrv()
        {
            grvDetalleFactura.Visible = false;
            switch (ddlAdmin.SelectedIndex)
            {
            case 1:
                categoriaselec();
                categoriasNegocios categoriasNegocios = new categoriasNegocios();
                grvCategorias.DataSource = categoriasNegocios.cargarCategorias();
                grvCategorias.DataBind();
                break;

            case 2:
                productosSelec();
                if (Convert.ToBoolean(Session["filtrarNombreProducto"]))
                {
                    FiltrarNombreProducto();
                    return;
                }
                if (ddlCategoriasArticulos.SelectedIndex != 0)
                {
                    cargarGrvArticulosCategoria();
                    return;
                }
                if (Convert.ToBoolean(Session["filtrarNombreProducto"]) == false)
                {
                    Session["filtrarNombreProducto"] = false;
                    articulosNegocios articulos = new articulosNegocios();
                    string            consulta  = "select * from Articulos inner join Categorias on Articulos.idCategoria = Categorias.idCategoria where estado = 1";
                    grvProductos.DataSource = articulos.cargarGrvArticulo(consulta);
                    grvProductos.DataBind();
                }
                break;

            case 3:
                mostrarReportes();
                if (verificarFiltros())
                {
                    filtrarPorFecha();
                    return;
                }
                facturasSelec();
                facturasNegocios facturas = new facturasNegocios();
                DataTable        dt       = facturas.cargarGrv("select id_Factura,dni_Usuario,fecha_venta,monto_final,(NombreUsuario +' '+ApellidoUsuario) as [NombreCliente] from facturas inner join Usuarios on facturas.dni_Usuario = Usuarios.dniUsuario");
                mostrarFiltros();
                reportesTotales(dt);
                grvFacturas.DataSource = dt;
                grvFacturas.DataBind();
                grvDetalleFactura.Visible = true;
                break;

            case 4:
                if (Convert.ToBoolean(Session["filtrarNombre"]))
                {
                    filtrarNombre();
                    return;
                }
                usuariosSelec();
                UsuariosNegocios aux = new UsuariosNegocios();
                grvAdmin.DataSource = aux.cargarGrv("select * from usuarios where adminMaster <> 1 and estado = 1");
                grvAdmin.DataBind();
                break;
            }
        }
        public void reportesTotales(DataTable dt)
        {
            int     cont = 0;
            decimal aux, suma = 0;

            foreach (DataRow row in dt.Rows)
            {
                suma += Convert.ToDecimal(dt.Rows[cont][3]);
                cont++;
            }

            aux = suma;
            lblRecaudado.Text = "Monto total recaudado en este periodo: " + aux.ToString();

            categoriasNegocios categoriasNegocios  = new categoriasNegocios();
            DataTable          dataTableCategorias = categoriasNegocios.cargarCategorias();//TODO
            articulosNegocios  articulosNegocios   = new articulosNegocios();
            DataTable          dataTableArticulos  = articulosNegocios.cargarGrvArticulo("select * from Articulos");
            facturasNegocios   facturas            = new facturasNegocios();
            DataTable          detalleFacturas = facturas.cargarGrv("select * from detalleFacturas");

            int cantCategorias                     = devolverCantidad(dataTableCategorias);
            int cantArticulos                      = devolverCantidad(dataTableArticulos);

            int[] categorias;
            categorias = new int[cantCategorias];

            int[] articulosVendidos;
            articulosVendidos = new int[cantArticulos];

            string consulta = "";

            foreach (DataRow dataRow in detalleFacturas.Rows)
            {
                articulosVendidos[Convert.ToInt32(dataRow[2]) - Convert.ToInt32(dataTableArticulos.Rows[0][0])] += Convert.ToInt32(dataRow[5]);
                consulta = "select idCategoria from Articulos where idArticulo=" + dataRow[2].ToString();
                DataTable aux2 = articulosNegocios.cargarGrvArticulo(consulta);
                categorias[Convert.ToInt32(aux2.Rows[0][0]) - Convert.ToInt32(dataTableCategorias.Rows[0][0])] += Convert.ToInt32(dataRow[5]);
            }

            int mayor = 0, cant = 0;

            for (int i = 0; i < cantArticulos; i++)
            {
                if (cant < articulosVendidos[i] || i == 0)
                {
                    mayor = i + Convert.ToInt32(dataTableArticulos.Rows[0][0]);
                    cant  = articulosVendidos[i];
                }
            }
            consulta                   = "select * from Articulos where idArticulo = " + mayor.ToString();
            dataTableArticulos         = articulosNegocios.cargarGrvArticulo(consulta);
            lblProductoMasVendido.Text = "El articulo mas vendido fue " + dataTableArticulos.Rows[0][2].ToString();

            for (int i = 0; i < cantCategorias; i++)
            {
                if (cant < categorias[i] || i == 0)
                {
                    mayor = i + Convert.ToInt32(dataTableCategorias.Rows[0][0]);
                    cant  = categorias[i];
                }
            }

            for (int i = 0; i < cantCategorias; i++)
            {
                if (mayor == Convert.ToInt32(dataTableCategorias.Rows[i][0]))
                {
                    lblCategoriaMasVendida.Text = "La categoria mas vendida fue " + dataTableCategorias.Rows[i][1].ToString();
                }
            }

            facturasNegocios facturasNegocios = new facturasNegocios();
            UsuariosNegocios usuarios = new UsuariosNegocios();
            string           MejorCliente = mejorCliente(facturasNegocios.cargarGrv("select * from facturas"));
            DataTable        usuariosDt = usuarios.cargarGrv("select * from usuarios where dniUsuario = " + MejorCliente);

            lblMejorCliente.Text = "El mejor cliente fue " + usuariosDt.Rows[0][1].ToString() + " " + usuariosDt.Rows[0][2].ToString();
        }
        public void reportesPorFecha(DataTable dt, string fechaInicio, string fechaFin)
        {
            int     cont = 0;
            decimal aux, suma = 0;

            foreach (DataRow row in dt.Rows)
            {
                suma += Convert.ToDecimal(dt.Rows[cont][3]);
                cont++;
            }

            aux = suma;
            lblRecaudado.Text = "Monto total recaudado en este periodo: " + aux.ToString();

            if (aux == 0)
            {
                lblCategoriaMasVendida.Visible = false;
                lblProductoMasVendido.Visible  = false;
                lblMejorCliente.Visible        = false;
                lblRecaudado.Visible           = false;
                return;
            }
            categoriasNegocios categoriasNegocios  = new categoriasNegocios();
            DataTable          dataTableCategorias = categoriasNegocios.cargarCategorias();//TODO
            articulosNegocios  articulosNegocios   = new articulosNegocios();
            DataTable          dataTableArticulos  = articulosNegocios.cargarGrvArticulo("select * from Articulos");
            facturasNegocios   facturas            = new facturasNegocios();
            DataTable          detalleFacturas = facturas.cargarGrv("select detalleFacturas.id_factura,numeroDeOrden,id_articulo,precio_unitario,descripcionProducto,cantidad from detalleFacturas inner join facturas on detalleFacturas.id_factura = facturas.id_Factura where fecha_venta between '" + fechaInicio + "' and '" + fechaFin + "'");

            int cantCategorias                     = devolverCantidad(dataTableCategorias);
            int cantArticulos                      = devolverCantidad(dataTableArticulos);

            int[] categorias;
            categorias = new int[cantCategorias];

            int[] articulosVendidos;
            articulosVendidos = new int[cantArticulos];

            string consulta = "";

            foreach (DataRow dataRow in detalleFacturas.Rows)
            {
                articulosVendidos[Convert.ToInt32(dataRow[2]) - Convert.ToInt32(dataTableArticulos.Rows[0][0])] += Convert.ToInt32(dataRow[5]);
                consulta = "select idCategoria from Articulos where idArticulo=" + dataRow[2].ToString();
                DataTable aux2 = articulosNegocios.cargarGrvArticulo(consulta);
                categorias[Convert.ToInt32(aux2.Rows[0][0]) - Convert.ToInt32(dataTableCategorias.Rows[0][0])] += Convert.ToInt32(dataRow[5]);
            }

            int mayor = 0, cant = 0;

            for (int i = 0; i < cantArticulos; i++)
            {
                if (cant < articulosVendidos[i] || i == 0)
                {
                    mayor = i + Convert.ToInt32(dataTableArticulos.Rows[0][0]);
                    cant  = articulosVendidos[i];
                }
            }
            consulta                   = "select * from Articulos where idArticulo = " + mayor.ToString();
            dataTableArticulos         = articulosNegocios.cargarGrvArticulo(consulta);
            lblProductoMasVendido.Text = "El articulo mas vendido fue " + dataTableArticulos.Rows[0][2].ToString();

            for (int i = 0; i < cantCategorias; i++)
            {
                if (cant < categorias[i] || i == 0)
                {
                    mayor = i + Convert.ToInt32(dataTableCategorias.Rows[0][0]);
                    cant  = categorias[i];
                }
            }

            for (int i = 0; i < cantCategorias; i++)
            {
                if (mayor == Convert.ToInt32(dataTableCategorias.Rows[i][0]))
                {
                    lblCategoriaMasVendida.Text = "La categoria mas vendida fue " + dataTableCategorias.Rows[i][1].ToString();
                }
            }

            UsuariosNegocios usuarios = new UsuariosNegocios();
            string           MejorCliente = mejorCliente(dt);
            DataTable        usuariosDt = usuarios.cargarGrv("select * from usuarios where dniUsuario = '" + MejorCliente + "'");

            lblMejorCliente.Text = "El mejor cliente fue " + usuariosDt.Rows[0][1].ToString() + " " + usuariosDt.Rows[0][2].ToString();
        }