How to Accept or Reject Detected Changes

How to Accept or Reject Detected Changes in C#

GroupDocs.Comparison for .NET (which is a part of Conholdate.Total for .NET) facilitates you to apply or discard specific changes between source and target documents and save resultant document with (or without) selected changes.
The following are the steps to apply/reject changes to resultant document.

ApplyChangeOptions class:

  • Changes - List of changes that must be applied (or not) to the resulting document;
  • SaveOriginalState - Keep the original state of the compared result after applying changes.

The following example shows how to accept/reject detected changes.

Accept or Reject changes for documents stored at local disk

using (Comparer comparer = new Comparer("source.docx"))
{
    comparer.Add("target.docx");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(File.Create("result.docx"), new SaveOptions(), new ApplyChangeOptions() { Changes = changes });
}

Accept or Reject changes for documents provided as a stream

using (Comparer comparer = new Comparer(File.OpenRead("source.docx")))
{
    comparer.Add(File.OpenRead("target.docx"));
    comparer.Compare(new SaveOptions(), new CompareOptions());
    ChangeInfo[] changes = comparer.GetChanges(new GetChangeOptions());
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(File.Create("result.docx"), new SaveOptions(), new ApplyChangeOptions() { Changes = changes });
}

The following code sample shows how to accept/reject detected changes using SaveOriginalState option

using (Comparer comparer = new Comparer("source.docx"))
{
    comparer.Add("target.docx");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges("resultWithRejectedChange.docx", new ApplyChangeOptions() { Changes = changes, SaveOriginalState = true });
    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("resultWithAcceptedChange.docx", new ApplyChangeOptions() { Changes = changes });
}