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(); }