public IEnumerable <TreeNode <KeyValuePair <string, string> > > GetFolderTrees(string reposiotryId) { return(HandleFault(() => { var service = GetService(); getRepositoryInfoRequest request = new getRepositoryInfoRequest(reposiotryId, null); var response = service.GetRepositoryInfo(request); var getFolderTreeRequest = new getFolderTreeRequest(reposiotryId, response.repositoryInfo.rootFolderId, null, null, null, null, null, null, GetcmisExtensionType()); var folders = service.GetFolderTree(getFolderTreeRequest).objects; List <cmisObjectInFolderContainerType> allFolders = new List <cmisObjectInFolderContainerType>(); //ignore the root folder. foreach (var item in folders) { if (item.children != null) { EnumerateFolders(item.children, ref allFolders); } } return allFolders.Select(it => ToTreeNode(it)); })); }
public getRepositoryInfoResponse GetRepositoryInfo(getRepositoryInfoRequest request) { var site = ModelHelper.GetSite(request.repositoryId); if (site != null) { var repositoryInfo = ToRepositoryInfo(site); return(new getRepositoryInfoResponse(repositoryInfo)); } else { throw new FaultException <cmisFaultType>(ModelHelper.CreateFault(enumServiceException.objectNotFound)); } }