private bool ValidarDatos() { if (string.IsNullOrWhiteSpace(txtNombre.Text) || string.IsNullOrWhiteSpace(txtDescripcion.Text) || permisoActual.DevolverPerfil().Count == 0) { MessageBox.Show(ObtenerLeyenda("msgDatosIncompletos"), ObtenerLeyenda("msgDatosIncompletosTitulo"), MessageBoxButtons.OK, MessageBoxIcon.Hand); return(false); } return(true); }
private void AgregarAlArbol(PermisoBE permiso, TreeNode nodoPadre, int nivel) { TreeNode nodo = new TreeNode(permiso.ToString()) { Tag = permiso }; List <PermisoBE> permisosHijos = permiso.DevolverPerfil(); foreach (PermisoBE p in permisosHijos) { // Pongo este nivel como método de seguridad contra los permisos anidados de manera cíclica if (nivel < 10) { AgregarAlArbol(p, nodo, nivel + 1); } } if (nodoPadre == null) { trvPermisosAsignados.Nodes.Add(nodo); } else { nodoPadre.Nodes.Add(nodo); } }
private void AgregarAlArbol(PermisoBE permiso, TreeNode nodoPadre) { TreeNode nodo = new TreeNode(permiso.ToString()) { Tag = permiso }; List <PermisoBE> permisosHijos = permiso.DevolverPerfil(); foreach (PermisoBE p in permisosHijos) { AgregarAlArbol(p, nodo); } if (nodoPadre == null) { trvPermisos.Nodes.Add(nodo); } else { nodoPadre.Nodes.Add(nodo); } }
public static void Guardar(PermisoBE permiso, bool habilitado, bool actualizarHijos) { // Primero guardo los datos del permiso en sí if (permiso.Id > 0) { Actualizar(permiso, habilitado); } else { Insertar(permiso); } // Luego guardo los permisos hijos if (permiso.Id > 0 && actualizarHijos) { // Borro permisos hijos string query = "DELETE FROM permiso_permiso WHERE permiso_padre_id = @permisoPadreId"; SqlParameter[] parameters = { new SqlParameter("@permisoPadreId", permiso.Id) }; SqlHelper.Ejecutar(query, parameters); // Inserto cada uno de los permisos hijos query = "INSERT INTO permiso_permiso (permiso_padre_id, permiso_hijo_id) VALUES (@permisoPadreId, @permisoHijoId)"; foreach (PermisoBE hijo in permiso.DevolverPerfil()) { parameters = new SqlParameter[2] { new SqlParameter("@permisoPadreId", permiso.Id), new SqlParameter("@permisoHijoId", hijo.Id) }; SqlHelper.Ejecutar(query, parameters); } } }