private IDictionary <string, string> buildfoldersPath(VaultFolderList folderList) { Dictionary <string, string> foldersPath = new Dictionary <string, string>(); foreach (VaultFolder folder in folderList) { string folderPath = folder.HRID; if (folder.ParentFolderGUID != "") { VaultFolder nextNode = folder; while (nextNode.ParentFolderGUID != "") { VaultFolder parentFolder = matchParentFolder(nextNode, folderList); if (parentFolder != null) { folderPath = parentFolder.HRID + "/" + folderPath; nextNode = parentFolder; } else { break; } } } foldersPath.Add(folder.GUID, folderPath); //Console.WriteLine(folderPath); } return(foldersPath); }
private VaultFolder matchParentFolder(VaultFolder childFolder, VaultFolderList allFolder) { VaultFolder parentFolder = null; foreach (VaultFolder folder in allFolder) { if (childFolder.ParentFolderGUID == folder.GUID) { parentFolder = folder; break; } } return(parentFolder); }
private void countAllCommponents(VaultClient vaultClient) { VaultFolderList folderList = vaultClient.GetAllFolders(); IDictionary <string, string> pathsList = buildfoldersPath(folderList); List <string> resultList = new List <string>(); foreach (VaultFolder folder in folderList) { if (folder.FolderTypeGUID == "89B6B381-D64E-456E-BF2A-E08CBB186A84") { int itemCount = vaultClient.GetItemCount(string.Format("FOLDERGUID = '{0}'", folder.GUID)); string line = pathsList[folder.GUID] + " " + itemCount.ToString(); resultList.Add(line); Console.WriteLine(line); } } System.IO.File.WriteAllLines(@"result.txt", resultList); }