Beispiel #1
0
 // 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);
         }
     }
 }
Beispiel #2
0
        // 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);
        }
Beispiel #3
0
        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;
                }
            }
        }
Beispiel #4
0
        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();
 }
Beispiel #6
0
        // 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);
 }
Beispiel #8
0
        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();
 }