navigation tree folder
Ejemplo n.º 1
0
 protected treenode ToTreeNode(NavNode nn)
 {
     var tn = new treenode
     {
         id = nn.Id,
         text = nn.Name,
         cls = nn.NodeClass,
         children = new List<treenode>(),
         leaf = false,
         ntype = "folder",
         expanded = true
     };
     if (nn.Items != null && nn.Items.Count > 0)
     {
         tn.leaf = false;
         foreach(var r in nn.Items)
         {
             tn.children.Add(new treenode
             {
                 leaf = true,
                 id = r.Id,
                 text = r.Label,
                 ntype = r.Reftype
             });
         }
     }
     return tn;
 }
Ejemplo n.º 2
0
 public void CreateNavigationFolder(string parentId, string name)
 {
     if (string.IsNullOrEmpty(name)) throw new ArgumentException("name cannot be empty");
     if (!string.IsNullOrEmpty(parentId))
     {
         var pn = Db.GetCollection<NavNode>().FindOneById(parentId);
         if (pn == null) throw new Exception("Invalid parent Id");
         if (pn.OwnerId != UserSessionContext.CurrentUserRecordId) throw new Exception("You have no permission to create folders here");
     }
     var nn = new NavNode();
     nn.ParentId = parentId;
     nn.Name = name;
     nn.OwnerId = UserSessionContext.CurrentUserRecordId;
     nn.ACL = new List<string>();
     nn.ACL.Add("ALL");
     nn.Items = new List<NavNode.Ref>();
     nn.NodeClass = "folder";
     Db.GetCollection<NavNode>().Save(nn);
 }