private void PopulatePermissions()
        {
            this.Model.ConsultarModulos();

            foreach (Entities.Modulos modulo in this.Model.Modulos)
            {
                TreeNode modNode = new TreeNode();
                modNode.Text = modulo.Nombre;
                modNode.Tag  = modulo.Modulo_ID;

                this.Model.Modulo_ID = modulo.Modulo_ID;
                this.Model.ConsultarMenues();

                foreach (Entities.Menues menu in this.Model.Menues)
                {
                    TreeNode menuNode = new TreeNode();
                    menuNode.Text      = menu.Nombre;
                    menuNode.Tag       = menu.Menu_ID;
                    this.Model.Menu_ID = menu.Menu_ID;
                    this.Model.ConsultarPermisosOpciones();

                    foreach (Entities.Vista_PermisosGruposUsuarios permiso in this.Model.Permisos)
                    {
                        TreeNode permisoNode = new TreeNode();
                        permisoNode.Tag     = permiso.Opcion_ID;
                        permisoNode.Text    = permiso.Opcion;
                        permisoNode.Checked = permiso.EsPermitido.Value;

                        menuNode.Nodes.Add(permisoNode);
                    }

                    modNode.Nodes.Add(menuNode);
                }

                PermisosTreeView.Nodes.Add(modNode);
            }

            PermisosTreeView.ExpandAll();
        }
        /// <summary>
        /// Llena el árbol de permisos
        /// </summary>
        private void PopulatePermissions()
        {
            //  Declaración de variables
            DataTable dtModulos, dtMenues, dtOpciones;

            SICASCentralQuerysDataSetTableAdapters.Get_ModulosTableAdapter getModulosTA =
                new SICASCentralQuerysDataSetTableAdapters.Get_ModulosTableAdapter();

            SICASCentralQuerysDataSetTableAdapters.Get_MenuesTableAdapter getMenuesTA =
                new SICASCentralQuerysDataSetTableAdapters.Get_MenuesTableAdapter();

            //  Consultar los modulos
            dtModulos = (DataTable)getModulosTA.GetData();

            //  Para cada modulo
            foreach (DataRow modrow in dtModulos.Rows)
            {
                //  Obtener los datos del "row"
                int    modulo_id     = Convert.ToInt32(modrow["Modulo_ID"]);
                string modulo_nombre = Convert.ToString(modrow["Nombre"]);

                //  Crear un nodo
                TreeNode modnode = new TreeNode();

                //  Asignarle las propiedades
                modnode.Text = modulo_nombre;
                modnode.Tag  = modulo_id;

                //  Consultar los menues
                dtMenues = (DataTable)getMenuesTA.GetData(modulo_id);

                //  Para cada menu
                foreach (DataRow mnurow in dtMenues.Rows)
                {
                    //  Obtener los datos del row
                    int    menu_id     = Convert.ToInt32(mnurow["Menu_ID"]);
                    string menu_nombre = Convert.ToString(mnurow["Nombre"]);

                    //  Crear un nodo
                    TreeNode mnunode = new TreeNode();

                    //  Asignarle las propiedades
                    mnunode.Text = menu_nombre;
                    mnunode.Tag  = menu_id;

                    //  Consultar las opciones
                    dtOpciones = this.OpcionesDeUsuarioMenu(this.Usuario_ID, menu_id);

                    //  Para cada opcion
                    foreach (DataRow oprow in dtOpciones.Rows)
                    {
                        //  Obtener los datos del "row"
                        int    opcion_id    = Convert.ToInt32(oprow["Opcion_ID"]);
                        string opcion_texto = Convert.ToString(oprow["Texto"]);

                        //  Crear un nodo
                        TreeNode opnode = new TreeNode();

                        //  Asignarle las propiedades
                        opnode.Text    = opcion_texto;
                        opnode.Tag     = opcion_id;
                        opnode.Name    = opcion_id.ToString();
                        opnode.Checked = Convert.ToBoolean(oprow["EsPermitido"]);

                        //  Agregar al nodo de menu
                        mnunode.Nodes.Add(opnode);
                    }

                    //  Agregar el nodo menu al de modulo
                    modnode.Nodes.Add(mnunode);
                }

                //  Agregar el nodo modulo al arbol
                PermisosTreeView.Nodes.Add(modnode);
            }

            //  Si un node se configura a "check", lo mismo para con todos sus nodos
            //  y el mismo comportamiento para "unchek"

            PermisosTreeView.ExpandAll();
        }