public void StartTrackRevisionsEx()
{
//ExStart
//ExFor:Document.StartTrackRevisions(String)
//ExFor:Document.StartTrackRevisions(String, DateTime)
//ExFor:Document.StopTrackRevisions
//ExSummary:Shows how tracking revisions affects document editing.
Document doc = new Document();
// This text will appear as normal text in the document and no revisions will be counted.
doc.FirstSection.Body.FirstParagraph.Runs.Add(new Run(doc, "Hello world!"));
Console.WriteLine(doc.Revisions.Count); // 0
doc.StartTrackRevisions("Author");
// This text will appear as a revision.
// We did not specify a time while calling StartTrackRevisions(), so the date/time that's noted
// on the revision will be the real time when StartTrackRevisions() executes.
doc.FirstSection.Body.AppendParagraph("Hello again!");
Console.WriteLine(doc.Revisions.Count); // 2
// Stopping the tracking of revisions makes this text appear as normal text.
// Revisions are not counted when the document is changed.
doc.StopTrackRevisions();
doc.FirstSection.Body.AppendParagraph("Hello again!");
Console.WriteLine(doc.Revisions.Count); // 2
// Specifying some date/time will apply that date/time to all subsequent revisions until StopTrackRevisions() is called.
// Note that placing values such as DateTime.MinValue as an argument will create revisions that do not have a date/time at all.
doc.StartTrackRevisions("Author", new DateTime(1970, 1, 1));
doc.FirstSection.Body.AppendParagraph("Hello again!");
Console.WriteLine(doc.Revisions.Count); // 4
doc.Save(MyDir + @"\Artifacts\Document.StartTrackRevisions.doc");
//ExEnd
}