public DocumentList GetDocumentsByPath(string path, string checkPublishInEvolveFilter) { string pathString = Utilities.CMISUtilities.AddCMISNamespaceToPath(path); List <DocumentInfo> documents = new List <DocumentInfo>(); Dictionary <string, string> propertiesByKey = new Dictionary <string, string>(); Dictionary <string, DocumentPropertyMetaData> propertyMetaData = null; IItemEnumerable <IQueryResult> qr = CMISQuery.SelectDocumentsByPath(pathString, checkPublishInEvolveFilter); foreach (IQueryResult hit in qr) { DocumentInfo doc = new DocumentInfo(hit["d.cmis:objectId"].FirstValue.ToString(), hit["d.cmis:name"].FirstValue.ToString()); doc.Properties = this.GetProperties(hit); doc.Path = path; documents.Add(doc); if (propertyMetaData == null) { propertyMetaData = this.GetDocumentPropertyMetaData(hit); } } return(new DocumentList { Documents = documents, DocumentPropertyMetaData = propertyMetaData }); }
public List <CMISFolder> GetFoldersByPath(string path, string checkPublishInEvolveFilter) { DocumentList documents = new DocumentList(); List <CMISFolder> folders = new List <CMISFolder>(); CMISFolder folder = new CMISFolder(path); folders.Add(folder); string pathString = Utilities.CMISUtilities.AddCMISNamespaceToPath(path); // get documents folder.ContainedDocuments = this.GetDocumentsByPath(path, checkPublishInEvolveFilter); //get sub folders IItemEnumerable <IQueryResult> qr = CMISQuery.SelectFoldersByPath(pathString); foreach (IQueryResult hit in qr) { Dictionary <string, string> FolderProperties = this.GetProperties(hit); string subFolderPath = FolderProperties["path"]; string slicedPath = Utilities.CMISUtilities.sliceDocumentLibraryPath(subFolderPath); CMISFolder subFolder = new CMISFolder(slicedPath); subFolder.ContainedDocuments = this.GetDocumentsByPath(slicedPath, checkPublishInEvolveFilter); folders.Add(subFolder); } return(folders); }
public Dictionary <string, DocumentPropertyMetaData> GetDocumentPropertyMetaData() { Dictionary <string, DocumentPropertyMetaData> propertyMetaData = null; IItemEnumerable <IQueryResult> qr = CMISQuery.SelectDocumentsByKey(""); foreach (IQueryResult hit in qr) { if (propertyMetaData == null) { propertyMetaData = this.GetDocumentPropertyMetaData(hit); } else { break; } } return(propertyMetaData); }
/// <summary> /// the key links a document to a cm instance /// </summary> /// <param name="key"></param> /// <returns></returns> public DocumentList GetDocumentsByKey(string key) { List <DocumentInfo> documents = new List <DocumentInfo>(); Dictionary <string, string> propertiesByKey = new Dictionary <string, string>(); Dictionary <string, DocumentPropertyMetaData> propertyMetaData = null; IItemEnumerable <IQueryResult> qr = CMISQuery.SelectDocumentsByKey(key); foreach (IQueryResult hit in qr) { DocumentInfo doc = new DocumentInfo(hit["d.cmis:objectId"].FirstValue.ToString(), hit["d.cmis:name"].FirstValue.ToString()); doc.Properties = this.GetProperties(hit); documents.Add(doc); if (propertyMetaData == null) { propertyMetaData = this.GetDocumentPropertyMetaData(hit); } } return(new DocumentList { Documents = documents, DocumentPropertyMetaData = propertyMetaData }); }