private void obtenerHijos(squishyTREE.TreeNode nodo) { string key = "n" + i; squishyTREE.TreeNode hijo; if (nodo != null) { //if (nodo.IsChecked) //opciones.Add(nodo.Text); hijo = nodo.FindTreeNode(key); } else { return; } // obtengo los hijos del nodo actual if (hijo != null) { //i++; obtenerHijos(hijo); } else { i++; obtenerHijos(nodo.NextSibling()); } }
private void obtenerHijosV2(squishyTREE.TreeNode nodo) { int k = 1; string key; squishyTREE.TreeNode nodoLocal; while (nodo != null) { // busco los hijos de N(k) k++; key = "n" + k; nodoLocal = nodo.FindTreeNode(key); if (nodoLocal != null) { if (nodoLocal.IsChecked) { //opciones.Add(nodoLocal.Text); if (!(opciones.Contains(nodoLocal.Text))) { opciones.Add(nodoLocal.Text, nodoLocal.Text); } obtenerHijosV2(nodoLocal); } } else { break; } } }
private void btnGuardar_Click(object sender, System.EventArgs e) { i = 1; squishyTREE.TreeNode nodo = this.tvwMain.FindTreeNode("n1"); while (nodo != null) { // si esta seleccionado, lo agrego if (nodo.IsChecked) { //opciones.Add(nodo.Text); opciones.Add(nodo.Text, nodo.Text); obtenerHijosV2(nodo); } nodo = nodo.NextSibling(); } IPerfil perfil = PerfilFactory.GetPerfil(); perfil.PerfilID = Utiles.Validaciones.obtieneEntero(this.txtPerfilID.Text); try { perfil.AsignarOpciones(new ArrayList(opciones.Values)); Page.RegisterStartupScript("muestraMensaje", SisPackController.GenerarJavaScripts.MostrarMensaje("Los datos se guardaron correctamente.")); } catch (Exception ex) { ((ErrorWeb)phErrores.FindControl("Error")).setMensaje(ex.Message); } }
private void BuscarHijos(int perfilID, string opcionPadreID, squishyTREE.TreeNode n) { IOpcion opcion = OpcionFactory.GetOpcion(); opcion.OpcionPadreID = opcionPadreID; DsOpcion ds = opcion.GetOpcionesByPerfilID(perfilID); int i = 2; foreach (DsOpcion.DatosRow dr in ds.Datos) { string key = "n" + i; // obtengo el nodo padre squishyTREE.TreeNode n1 = n.AddNode(dr.OpcionID, key); n1.AddTaggedValue("val1", dr.Descripcion); // busco los hijos de este padre this.BuscarHijos(perfilID, dr.OpcionID, n1); i++; } }
private void buscarHijos(string opcionPadreID, squishyTREE.TreeNode n) { IOpcion opcion = OpcionFactory.GetOpcion(); DsOpcion ds = opcion.GetOpcionesHijos(opcionPadreID, Utiles.Validaciones.obtieneEntero(this.txtPerfilID.Text)); int i = 2; foreach (DsOpcion.DatosRow dr in ds.Datos) { string key = "n" + i; // obtengo el nodo padre squishyTREE.TreeNode n1 = n.AddNode(dr.OpcionID, key, true); n1.AddTaggedValue("val1", dr.Descripcion); if (dr.Asignado) { n1.Check(); } // busco los hijos de este padre buscarHijos(dr.OpcionID, n1); i++; } }
private void Page_Load(object sender, System.EventArgs e) { if (User.Identity.IsAuthenticated) { //this.SetCultura(); string sOpcion = "asignarOpciones"; Menu oMenu = (Menu)this.FindControl("Menu1"); this.ValidarSeguridad(oMenu, sOpcion); } tvwMain.AddHeader("Descripción", "", typeof(string), "val1", "left"); if (!this.IsPostBack) { this.txtPerfilID.Text = this.Request.QueryString["PerfilID"] == null ? null : this.Request.QueryString["PerfilID"]; ObtenerPerfil(); IOpcion opcion = OpcionFactory.GetOpcion(); DsOpcion ds = opcion.GetOpcionesPadres(Utiles.Validaciones.obtieneEntero(this.txtPerfilID.Text)); foreach (DsOpcion.DatosRow dr in ds.Datos) { // obtengo el nodo padre tvwMain.ForceInheritedChecks = true; squishyTREE.TreeNode n1 = tvwMain.AddNode(dr.OpcionID, "n1", true); n1.AddTaggedValue("val1", dr.Descripcion); if (dr.Asignado) { n1.Check(); } // busco los hijos de este padre buscarHijos(dr.OpcionID, n1); } } }
private void BindGrid(int currentPage) { try { #region Consulta de permisos por perfil if (this.rbPermisosPorPerfil.Checked && !this.ddlPerfilPorCategoria.SelectedValue.Trim().Equals("")) { /* Consultar si existe el perfil, dependiendo de los filtros ingresados. */ IPerfil perfil = PerfilFactory.GetPerfil(); perfil.PerfilID = this.ddlPerfilPorCategoria.SelectedValue.Trim().Equals("")?0: Convert.ToInt32(this.ddlPerfilPorCategoria.SelectedValue.Trim()); if (perfil.Consultar()) { IOpcion opcion = OpcionFactory.GetOpcion(); opcion.OpcionPadreID = ""; DsOpcion ds = opcion.GetOpcionesByPerfilID(perfil.PerfilID); tvwMain.Controls.Clear(); foreach (DsOpcion.DatosRow dr in ds.Datos) { // obtengo el nodo padre squishyTREE.TreeNode n1 = tvwMain.AddNode(dr.OpcionID, "n1"); n1.AddTaggedValue("val1", dr.Descripcion); // busco los hijos de este padre this.BuscarHijos(perfil.PerfilID, dr.OpcionID, n1); } } this.tvwMain.Visible = true; this.butImprimir.Visible = true; tvwMain.ExpandAll(); } else { this.tvwMain.Visible = false; this.butImprimir.Visible = false; } #endregion #region Consulta de usuarios por perfil if (this.rbUsuariosPorPerfil.Checked && !this.ddlPerfilPorCategoria.SelectedValue.Trim().Equals("")) { AdministrarGrillas.Configurar(dtgDatosUsuarios, "UsuarioID", this.CantidadOpciones); IPerfil usuarios = PerfilFactory.GetPerfil(); usuarios.PerfilID = ddlPerfilPorCategoria.SelectedValue.Trim().Equals("")?0:Convert.ToInt32(ddlPerfilPorCategoria.SelectedValue.Trim()); DsUsuarios dsUsuarios = usuarios.GetUsuariosByPerfilID(); this.dtgDatosUsuarios.DataSource = dsUsuarios; this.dtgDatosUsuarios.CurrentPageIndex = currentPage; this.dtgDatosUsuarios.DataBind(); usuarios = null; dsUsuarios = null; this.dtgDatosUsuarios.Visible = true; } else { this.dtgDatosUsuarios.Visible = false; } #endregion #region Consulta de perfiles por permiso if (this.rbPerfilesPorPermiso.Checked && !this.ddlPermiso.SelectedValue.Trim().Equals("")) { AdministrarGrillas.Configurar(dtgDatosPerfiles, "PerfilID", this.CantidadOpciones); IOpcion permiso = OpcionFactory.GetOpcion(); permiso.OpcionID = this.ddlPermiso.SelectedValue.Trim().Equals("")?"":this.ddlPermiso.SelectedValue.Trim(); DsPerfil dsPerfilesO = permiso.GetPerfilesByOpcionID(); this.dtgDatosPerfiles.DataSource = dsPerfilesO; this.dtgDatosUsuarios.CurrentPageIndex = currentPage; this.dtgDatosPerfiles.DataBind(); permiso = null; dsPerfilesO = null; this.dtgDatosPerfiles.Visible = true; } else { this.dtgDatosPerfiles.Visible = false; } #endregion #region Consulta de perfiles por usuario if (this.rbPerfilesPorUsuario.Checked) { AdministrarGrillas.Configurar(dtgDatosPerfiles, "PerfilID", this.CantidadOpciones); IUsuarios perfiles = UsuariosFactory.GetUsuario(); perfiles.UsuarioID = cUsuario.UsuarioID.Trim().Equals("")?0:Convert.ToInt32(cUsuario.UsuarioID.Trim()); DsPerfil dsPerfiles = perfiles.GetPerfilesAsignadosByUsuarioID(); this.dtgDatosPerfiles.DataSource = dsPerfiles; this.dtgDatosUsuarios.CurrentPageIndex = currentPage; this.dtgDatosPerfiles.DataBind(); perfiles = null; dsPerfiles = null; this.dtgDatosPerfiles.Visible = true; } else if (!this.rbPerfilesPorPermiso.Checked) { this.dtgDatosPerfiles.Visible = false; } #endregion Page.RegisterStartupScript("mostrar", "<script language='javascript'>VisualizarGrilla();\n</script>"); } catch (Exception ex) { ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); } }