public async Task <bool> LoadEntities(IKntService service, FolderInfoDto folder, bool refreshView = true) { try { Service = service; Folder = folder; NotesFilter = null; Guid f; if (Folder == null) { f = Guid.Empty; } else { f = Folder.FolderId; } Result <List <NoteInfoDto> > response; if (folder == null) { response = await Service.Notes.GetAllAsync(); } else { response = await Service.Notes.GetByFolderAsync(f); } if (response.IsValid) { ListEntities = response.Entity; if (refreshView) { View.RefreshView(); } if (ListEntities?.Count > 0) { SelectedEntity = ListEntities[0]; } else { SelectedEntity = null; } } else { View.ShowInfo(response.Message); return(false); } } catch (Exception ex) { View.ShowInfo(ex.Message); return(false); } return(true); }
public FolderNode(FolderInfoDto folderInfo, int?selectedFolderId) { Id = folderInfo.FolderId; Name = folderInfo.Name; FullName = folderInfo.FullName; IsSubsiteRoot = folderInfo.IsSubsiteRoot; if (selectedFolderId.HasValue && selectedFolderId.Value == Id) { IsSelected = true; } switch (folderInfo.FolderType) { case FolderType.Content: Controller = "Folder"; Action = "Explorer"; break; case FolderType.Document: Controller = "Document"; Action = "Explorer"; break; case FolderType.Setting: Controller = "Setting"; Action = folderInfo.Name; break; } SubNodes = new List <FolderNode>(); }
private void BuildTree() { if (NodeList != null) { FolderInfoDto rootNode = NodeList.FirstOrDefault(o => o.ParentId == null); if (rootNode != null) { TreeRoot = new FolderNode(rootNode, SelectedFolderId); // add first level nodes foreach (FolderInfoDto item in NodeList.Where(o => object.Equals(o.ParentId, rootNode.FolderId)).OrderBy(o => o.Sort)) { // add node FolderNode node = new FolderNode(item, SelectedFolderId); TreeRoot.SubNodes.Add(node); // explorer next level BuildSubTree(node, 1); } } } }