Exemplo n.º 1
0
        public TreeNode[] ChildrensByUser(PLMPackEntities db, AspNetUser user)
        {
            List <TreeNode> nodes = new List <TreeNode>();

            foreach (TreeNode tn in Childrens)
            {
                if (tn.IsShared(db, user) && user.HasGroupOfInterest(tn.Group))
                {
                    nodes.Add(tn);
                }
            }
            nodes.Sort();
            return(nodes.ToArray());
        }
Exemplo n.º 2
0
 public void Print(PLMPackEntities db, AspNetUser user, string offset)
 {
     // node not shared with user or user has no interest in group that created node
     if (!IsShared(db, user) || !user.HasGroupOfInterest(Group))
     {
         return;
     }
     // actually show node
     Console.WriteLine(string.Format("{0}->{1}", offset, Name));
     // show childrens
     foreach (TreeNode tn in Childrens)
     {
         tn.Print(db, user, offset + "    ");
     }
 }
Exemplo n.º 3
0
        public static TreeNode[] GetRootNodes(PLMPackEntities db, AspNetUser user)
        {
            TreeNode[] tNodes = db.TreeNodes.Where(
                tn => string.IsNullOrEmpty(tn.ParentNodeId)
                ).ToArray();
            List <TreeNode> rootNodes = new List <TreeNode>();

            foreach (TreeNode tn in tNodes)
            {
                if (tn.IsShared(db, user) && (user.HasGroupOfInterest(tn.Group) || (tn.Group.Id == user.GroupId)))
                {
                    rootNodes.Add(tn);
                }
            }
            return(rootNodes.ToArray());
        }