// Die Funktion CheckForMatchingSubFolder sucht die Unterordner des übergebenen Ordners nach // dem passenen Namen ab, der auch übergeben wird. Wenn ein Unterordner ebensfalls Unterordner // aufweist wird die Funktion rekursiv aufgerufen. Wenn der passene Ordner gefunden wird, wird // die zuletzt erstellte SharePointFile an den Ordner gehangen. private void CheckForMatchingSubFolder(string subFolderName, SharePointFolder folder) { if (folder.GetSubFolders().Count > 0) { foreach (SharePointFolder subFolder in folder.GetSubFolders()) { if (subFolder.GetSubFolders().Count > 0) { CheckForMatchingSubFolder(subFolderName, subFolder); } if (subFolder.GetFolderName() == subFolderName) { this.sharePointFile.SetParentFolder(subFolder); subFolder.AddFile(this.sharePointFile); } } } else { if (folder.GetFolderName() == subFolderName) { this.sharePointFile.SetParentFolder(folder); folder.AddFile(this.sharePointFile); } } }
// Diese Funktion ist eine Überladung ist eine der CheckForMatchingSubFolder sie nimmt nur einen SharePointFolder an // und gibt eine ArrayList zurück. Auch hier wird nach einem passenden Ordnernamen gesucht und wenn er gefunden wird, // werden die Unterordner und Dateien, die an dem Ordner hängen zurückgegeben. private ArrayList CheckForMatchingSubFolder(SharePointFolder folder) { ArrayList filteredFiles = new ArrayList(); if (folder.GetFolderName() == this.filter) { if (folder.GetSubFolders().Count > 0) { foreach (SharePointFolder subFolder in folder.GetSubFolders()) { filteredFiles.Add(subFolder); } } if (folder.GetFiles().Count > 0) { foreach (SharePointFile file in folder.GetFiles()) { filteredFiles.Add(file); } } return(filteredFiles); } else { if (folder.GetSubFolders().Count > 0) { foreach (SharePointFolder subFolder in folder.GetSubFolders()) { CheckForMatchingSubFolder(subFolder); } } } return(filteredFiles); }
private SharePointFolder FindParentFolder(string folderName, SharePointFolder folder) { foreach (SharePointFolder subFolder in folder.GetSubFolders()) { if (subFolder.GetSubFolders().Count > 0) { return(FindParentFolder(folderName, subFolder)); } else { if (subFolder.GetFolderName() == folderName) { return(subFolder); } } } throw new ArgumentException(resourceManager.GetString("noParentfolder") + folderName); }