// 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 void GetFolderNamesWithFilter(FolderCollection allFolders) { try { Folder rootFolder = this.site.Lists.GetByTitle(this.listName).RootFolder; this.clientContext.Load(rootFolder, rf => rf.ServerRelativeUrl); this.clientContext.ExecuteQuery(); Folder folder = this.site.GetFolderByServerRelativeUrl(rootFolder.ServerRelativeUrl + "/" + this.filter); this.clientContext.Load(folder); this.clientContext.ExecuteQuery(); this.sharePointFolder = new SharePointFolder(folder.Name, folder.ServerRelativeUrl, null); this.sharePointFolderList.Add(this.sharePointFolder); this.filteredFolder = folder; } catch (Exception ex) { if (ex is System.IO.FileNotFoundException || ex is ServerException) { this.sharePointFolderList.Clear(); this.sharePointFolder = null; this.filteredFolder = null; } else { throw ex; } } }
private void LoadSubFolders(FolderCollection allFolders) { this.clientContext.Load(allFolders); this.clientContext.ExecuteQuery(); foreach (Folder subFolder in allFolders) { if (subFolder.Name == "Forms") //Forms ist von SharePoint { continue; } foreach (SharePointFolder folder in this.sharePointFolderList) { this.clientContext.Load(subFolder.ParentFolder); this.clientContext.ExecuteQuery(); if (folder.GetFolderName() == subFolder.ParentFolder.Name) { this.sharePointFolder = new SharePointFolder(subFolder.Name, subFolder.ServerRelativeUrl, folder); folder.AddSubFolder(this.sharePointFolder); } } if (CheckForSubFolders(subFolder)) { LoadSubFolders(subFolder.Folders); } LoadFiles(subFolder); } }
public SharePointFolder(string folderName, string serverRelativeUrl, SharePointFolder parentFolder) { this.folderName = folderName; this.serverRelativeUrl = serverRelativeUrl; this.parentFolder = parentFolder; this.subFolders = new System.Collections.ArrayList(); this.files = new System.Collections.ArrayList(); }
// Speichert die Ordnernamen der Obersten Ordner in der SharePoint-Liste. private void GetFolderNamesWithoutFilter(FolderCollection allFolders) { this.clientContext.Load(allFolders); this.clientContext.ExecuteQuery(); foreach (Folder folder in allFolders) { if (folder.Name == "Forms") { continue; } this.sharePointFolder = new SharePointFolder(folder.Name, folder.ServerRelativeUrl, null); this.sharePointFolderList.Add(this.sharePointFolder); } }
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); }
private void GetEventWithFilter(FolderCollection allFolders) { this.clientContext.Load(allFolders); this.clientContext.ExecuteQuery(); foreach (Folder folder in allFolders) { if (folder.Name == "Forms") { continue; } if (folder.Name != this.eventNo) { continue; } this.sharePointFolder = new SharePointFolder(folder.Name, folder.ServerRelativeUrl, null); this.sharePointFolderList.Add(this.sharePointFolder); this.filteredFolder = folder; break; } }
public void SetParentFolder(SharePointFolder parentFolder) { this.parentFolder = parentFolder; }
public SharePointFile(SharePointFolder parentFolder) { this.parentFolder = parentFolder; }
// Einstieg von NAV zum Assembly, der Ordnerverlauf wird übergeben und der Parentordner wird gesetzt. public void AddSharePointData(System.Collections.ArrayList sharePointData) { SharePointFileGetter fileGetter = new SharePointFileGetter(); SharePointFolder folder = null; if (String.IsNullOrEmpty(eventNo)) { fileGetter.OnlyGetParentFolder(this.baseUrl, this.subWebsite, this.user, this.password, this.subPage, this.listName, this.filter); folder = fileGetter.GetParentFolder(); } else { fileGetter.OnlyGetEventFolder(this.baseUrl, this.subWebsite, this.user, this.password, this.subPage, this.listName, this.filter, this.eventNo); folder = fileGetter.GetParentFolder(); } TWI_TreeView.Nodes.Clear(); this.parent = null; if (sharePointData == null) { return; } if (sharePointData.Count > 0) { if (sharePointData[0].GetType() == typeof(SharePointFolder)) { if (((SharePointFolder)sharePointData[0]).GetParentFolder() != null) { this.parent = ((SharePointFolder)sharePointData[0]).GetParentFolder(); } } else if (sharePointData[0].GetType() == typeof(SharePointFile)) { if (((SharePointFile)sharePointData[0]).GetParentFolder() != null) { this.parent = ((SharePointFile)sharePointData[0]).GetParentFolder(); } } ConnectButton.Visible = false; TWI_TreeView.Visible = true; OpenSPButton.Visible = true; InitSharePointDataList(sharePointData); } else if (folder == null) { DialogResult result = MessageBox.Show(resourceManager.GetString("noFiles").Replace("{0}", this.filter), "", MessageBoxButtons.YesNo); if (result == DialogResult.No) { TWI_TreeView.Visible = false; OpenSPButton.Visible = false; ConnectButton.Visible = true; } else if (result == DialogResult.Yes) { Create(); } } else { this.parent = folder; ConnectButton.Visible = false; TWI_TreeView.Visible = true; OpenSPButton.Visible = true; InitSharePointDataList(new System.Collections.ArrayList()); } }
public void AddSubFolder(SharePointFolder folder) { this.subFolders.Add(folder); }
public SharePointFolder(SharePointFolder parentFolder) { this.parentFolder = parentFolder; this.subFolders = new System.Collections.ArrayList(); this.files = new System.Collections.ArrayList(); }