示例#1
0
        public string GetCheckinComent(CMISDocument document)
        {
            IDocument docId  = document.IDocument(session);
            IDocument latest = session.GetLatestDocumentVersion(docId);

            return(latest.GetPropertyValue("cmis:checkinComment") as string);
        }
        private void storeAndVerifyDocument(
            CMISFolder folder, string documentName,
            CMISType type, List <CMISTestProperty> properties)
        {
            CultureInfo ci = new CultureInfo("en-US");
            Dictionary <string, object> props = new Dictionary <string, object>();

            foreach (CMISTestProperty ctp in properties)
            {
                props[ctp.Property.Id] = ctp.Property.ConvertValue(ctp.TestValue, ci);
            }

            bool description = type.Type.PropertyDefinitions.Where(n => n.Id == "cmis:description").Count() > 0;

            if (description)
            {
                props["cmis:description"] = "Hello World";
            }
            props["cmis:objectTypeId"] = type.Id;
            cmisClient.StoreDocument(folder, sampleDocument, documentName, props, null);

            CMISDocument cmisDocument = cmisClient.GetDocument(folder, documentName);

            if (description)
            {
                Assert.AreEqual("Hello World", cmisClient.GetPropertyValue(cmisDocument, "cmis:description"));
            }
            //foreach (CMISProperty p in properties.Keys)
            foreach (CMISTestProperty ctp in properties)
            {
                object expected = ctp.TestValue;
                object result   = cmisClient.GetPropertyValue(cmisDocument, ctp.Property.Id);
                Assert.AreEqual(expected, result); break;
            }
        }
        private void deleteDocument(CMISFolder folder, string documentName)
        {
            CMISDocument cmisDocument = cmisClient.GetDocument(folder, documentName);

            if (cmisDocument != null)
            {
                cmisClient.DeleteDocument(cmisDocument);
            }
        }
示例#4
0
 public CMISDocument GetObjectOfLatestVersion(CMISDocument document, bool major)
 {
     return(document);
 }
示例#5
0
 public string GetCheckinComent(CMISDocument document)
 {
     return("Some comment");
 }
示例#6
0
 public object GetPropertyValue(CMISDocument document, string propertyName)
 {
     return(document.Name + ":" + propertyName);
 }
示例#7
0
 public void DeleteDocument(CMISDocument document)
 {
     ExistingDocument = null;
 }
        public override void ExportDocument(SIEESettings settings, SIEEDocument document, string name, SIEEFieldlist fieldlist)
        {
            CMISFolder folder  = determineFolder(fieldlist);
            string     docName = name;

            // Collision detection and handling (except for version handling)
            CMISDocument existingDocument = cmisClient.GetDocument(folder, docName + pdfExtension);

            if (existingDocument != null)
            {
                switch (mySettings.SelectedConflictHandling)
                {
                case CMISSettings.ConflictHandling.Replace:
                { cmisClient.DeleteDocument(existingDocument); break; }

                case CMISSettings.ConflictHandling.AddBlurb:
                { docName = getDocumentNameWithBlurb(docName); break; }

                case CMISSettings.ConflictHandling.AddNumber:
                { docName = getDocumentNameWithNumber(docName, folder); break; }

                default: break;
                }
            }

            // Create property list
            string checkInComment             = "OCC created version";
            Dictionary <string, object> props = new Dictionary <string, object>();

            props["cmis:objectTypeId"] = selectedTypeId;

            foreach (SIEEField f in fieldlist)
            {
                if (f.ExternalId == "cmis:checkinComment")
                {
                    checkInComment = f.Value; continue;
                }
                if (mySettings.UseSubFolderField &&
                    mySettings.SubFolderTypeFixed &&
                    f.ExternalId == mySettings.SubFolderField)
                {
                    continue;
                }
                if (mySettings.UseSubFolderField &&
                    mySettings.SubFolderTypeFromField &&
                    f.ExternalId == mySettings.SubFolderTypeField)
                {
                    continue;
                }

                try { props[f.ExternalId] = convert(mySettings, f); }
                catch (Exception e) { throw new Exception(
                                                "Error converting value for field '" + f.ExternalId + "' Value = '" + f.Value +
                                                "' \nReason: " + e.Message
                                                ); }
            }

            try
            {
                string dn = docName + pdfExtension;
                if (cmisClient.GetDocument(folder, docName + pdfExtension) == null || !versionHandling())
                {
                    bool?v = null;
                    if (versionHandling())
                    {
                        v = mySettings.Major;
                    }
                    cmisClient.StoreDocument(folder, document.PDFFileName, dn, props, v);
                }
                else
                {
                    cmisClient.UpdateDocument(folder, document.PDFFileName, dn, props, mySettings.Major, checkInComment);
                }
            }
            catch (Exception e) { trace.WriteError(e.Message); throw; }
            document.TargetDocumentId = folder + ":" + document.PDFFileName;
        }
示例#9
0
 public CMISDocument GetObjectOfLatestVersion(CMISDocument document, bool major)
 {
     return(new CMISDocument(document.IDocument(session).GetObjectOfLatestVersion(major)));
 }
示例#10
0
 public object GetPropertyValue(CMISDocument document, string propertyName)
 {
     return(document.IDocument(session).GetPropertyValue(propertyName));
 }
示例#11
0
 public void DeleteDocument(CMISDocument document)
 {
     session.Delete(document.IDocument(session));
 }
 private string getVersionString(CMISDocument cmisDocument)
 {
     return(cmisClient.GetPropertyValue(cmisDocument, "cmis:versionLabel") as string);
 }