Пример #1
0
        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
            });
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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
            });
        }