/// <summary>
        /// Accepts or rejects changes to the resultant document and returns a link to saved result
        /// </summary>
        /// <param name="request">Request. <see cref="PutChangesDocumentRequest" /></param>
        /// <returns><see cref="Link"/></returns>
        public Link PutChangesDocument(PutChangesDocumentRequest request)
        {
            // verify the required parameter 'updatesOptions' is set
            if (request.updatesOptions == null)
            {
                throw new ApiException(400, "Missing required parameter 'updatesOptions' when calling PutChangesDocument");
            }

            // create path and map variables
            var resourcePath = this.configuration.GetServerUrl() + "/comparison/updates";

            resourcePath = Regex
                           .Replace(resourcePath, "\\*", string.Empty)
                           .Replace("&amp;", "&")
                           .Replace("/?", "?");
            var postBody = SerializationHelper.Serialize(request.updatesOptions); // http body (model) parameter
            var response = this.apiInvoker.InvokeApi(
                resourcePath,
                "PUT",
                postBody,
                null,
                null);

            if (response != null)
            {
                return((Link)SerializationHelper.Deserialize(response, typeof(Link)));
            }

            return(null);
        }
コード例 #2
0
        public void PutChangesDocumentTest()
        {
            string outPath = "result.docx";
            PutChangesDocumentRequest request = new PutChangesDocumentRequest(GetComparisonRequest("source.docx", new List <string> {
                "target.docx"
            }), outPath);
            var response = ChangesApi.PutChangesDocument(request);

            Assert.IsInstanceOf <Link>(response, "response is Link");
        }
コード例 #3
0
        /// <summary>
        /// Applies changes to the document and returns document with the result of comparison
        /// </summary>
        /// <param name="request">Request. <see cref="PutChangesDocumentRequest" /></param>
        /// <returns><see cref="Link"/></returns>
        public Link PutChangesDocument(PutChangesDocumentRequest request)
        {
            // create path and map variables
            var resourcePath = this.configuration.GetApiRootUrl() + "/comparison/compareDocuments/changes/update";

            resourcePath = Regex
                           .Replace(resourcePath, "\\*", string.Empty)
                           .Replace("&amp;", "&")
                           .Replace("/?", "?");
            resourcePath = UrlHelper.AddQueryParameterToUrl(resourcePath, "outPath", request.OutPath);
            var postBody = SerializationHelper.Serialize(request.Request); // http body (model) parameter

            try
            {
                var response = this.apiInvoker.InvokeApi(
                    resourcePath,
                    "PUT",
                    postBody,
                    null,
                    null);
                if (response != null)
                {
                    return((Link)SerializationHelper.Deserialize(response, typeof(Link)));
                }

                return(null);
            }
            catch (ApiException ex)
            {
                if (ex.ErrorCode == 404)
                {
                    return(null);
                }

                throw;
            }
        }
        public static void Run()
        {
            var apiInstance = new CompareApi(Common.MyAppSid, Common.MyAppKey);

            try
            {
                var options = new UpdatesOptions()
                {
                    // Set source file
                    SourceFile = new FileInfo()
                    {
                        FilePath    = "Comparisondocs\\source_protected.docx",
                        Password    = "******",
                        StorageName = Common.MyStorage
                    },
                    OutputPath = "Comparisondocs\\result_single_protected.docx",
                    Settings   = new Settings
                    {
                        GenerateSummaryPage        = true,
                        ShowDeletedContent         = true,
                        StyleChangeDetection       = true,
                        UseFramesForDelInsElements = false,
                        MetaData                       = null,
                        DetailLevel                    = "Low",
                        DiagramMasterSetting           = null,
                        CalculateComponentCoordinates  = false,
                        CloneMetadata                  = "Default",
                        MarkDeletedInsertedContentDeep = false,
                        Password                       = "******",
                        PasswordSaveOption             = "User",
                        DeletedItemsStyle              = new ItemsStyle
                        {
                            BeginSeparatorString = "",
                            EndSeparatorString   = "",
                            FontColor            = "16711680",
                            HighlightColor       = "16711680",
                            Bold          = false,
                            Italic        = false,
                            StrikeThrough = false
                        },
                        InsertedItemsStyle = new ItemsStyle
                        {
                            BeginSeparatorString = "",
                            EndSeparatorString   = "",
                            FontColor            = "255",
                            HighlightColor       = "255",
                            Bold          = false,
                            Italic        = false,
                            StrikeThrough = false
                        },
                        StyleChangedItemsStyle = new ItemsStyle
                        {
                            BeginSeparatorString = "",
                            EndSeparatorString   = "",
                            FontColor            = "65280",
                            HighlightColor       = "65280",
                            Bold          = false,
                            Italic        = false,
                            StrikeThrough = false
                        },
                    },
                };

                // Set target file
                var      targets    = new List <FileInfo>();
                FileInfo targetFile = new FileInfo()
                {
                    FilePath    = "Comparisondocs\\target_protected.docx",
                    Password    = "******",
                    StorageName = Common.MyStorage
                };

                targets.Add(targetFile);
                options.TargetFiles = targets.ToList();

                // Accept or reject changes.
                var changes = new List <ChangeInfo>
                {
                    new ChangeInfo {
                        Id = 0, ComparisonAction = "Accept"
                    },
                    new ChangeInfo {
                        Id = 1, ComparisonAction = "Reject"
                    }
                };
                options.Changes = changes.ToList();

                // Create request object.
                var request = new PutChangesDocumentRequest(options);

                // Execute api method.
                var response = apiInstance.PutChangesDocument(request);

                Console.WriteLine("Expected response type is Link: " + response.Href);
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception while calling Comparison CompareApi: " + e.Message);
            }
        }