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