public static MasterDocument BuildSimpleMasterAndDetail(out DetailDocument detail) { var master = new MasterDocument { Id = 1, Name = "Chips", DetailPlaceHolders = new DocumentPlaceholderCollection <DetailDocument, WhatMasterNeedsToKnowAboutDetail>() }; var masterData = new WhatDetailNeedsToKnowAboutMaster { Name = master.Name }; detail = new DetailDocument { Id = 25, Name = "Cheetos" }; var detailData = new WhatMasterNeedsToKnowAboutDetail { Name = detail.Name }; detail.MasterDocumentPointer = DocumentPlaceholder <MasterDocument, WhatDetailNeedsToKnowAboutMaster> .CreatePlaceholderAndUpdateReverseCollection(master.Id, masterData, master.DetailPlaceHolders, detail.Id, detailData); return(master); }
public IDocumentBuilder Placeholder(string placeholderName, Action <IDocumentContextBuilder> options, bool preservePlaceholder = true) { var documentPlaceholders = DocumentPlaceholder.Get(Document, placeholderName); foreach (var documentPlaceholder in documentPlaceholders) { ClearBetweenElements(documentPlaceholder.Opening, documentPlaceholder.Closing); } SaveDocument(); foreach (var documentPlaceholder in documentPlaceholders) { var builder = new DocxDocumentPlaceholderContextBuilder(Document, documentPlaceholders.Any() == false ? new RunProperties() : documentPlaceholder.Opening.RunProperties); options(builder); foreach (var contentElement in builder.AggregatedContent) { documentPlaceholder.Closing.InsertBeforeSelf(contentElement.CloneElement()); } if (preservePlaceholder == false) { documentPlaceholder.Remove(); } } SaveDocument(); return(this); }
public static PeerDocument BuildSimpleMasterAndPeer(out MasterDocument master) { master = new MasterDocument { Id = 7, Name = "Bill" }; var peer = new PeerDocument { Id = 100, Name = "Frank", MasterDocumentPlaceHolder = new DocumentPlaceholder <MasterDocument, WhatPeerNeedsToKnowAboutMaster>() }; var peerData = new WhatMasterNeedsToKnowAboutPeer { Name = peer.Name }; var masterData = new WhatPeerNeedsToKnowAboutMaster { Name = master.Name }; master.PeerDocumentPlaceHolder = DocumentPlaceholder <PeerDocument, WhatMasterNeedsToKnowAboutPeer> .CreatePlaceholderAndReverse(peer.Id, peerData, peer.MasterDocumentPlaceHolder, master.Id, masterData); return(peer); }
public void NewPlaceholderCreationCreatesItsParagraphs() { var placeholder = new DocumentPlaceholder("TEST_PH"); Assert.NotNull(placeholder.Opening); Assert.Null(placeholder.Opening.Parent); Assert.NotNull(placeholder.Closing); Assert.Null(placeholder.Closing.Parent); }
public void PlaceholderGettingWhichNotExistsReturnsEmpty() { using (var document = new DocxDocument(Resources.WithMainContentTag)) { var placeholders = DocumentPlaceholder.Get(document.GetWordDocument(), "NON_EXISTING"); Assert.IsEmpty(placeholders); } }
public void ShouldBeAbleToSetValueOnDynamicData() { var placeholder = DocumentPlaceholder <PeerDocument> .CreatePlaceholder(100); placeholder.Data.BagData.Cool = "Cool"; var placeholder2 = Helpers.SerializeCopyWithJSON(placeholder); Assert.AreEqual("Cool", placeholder2.Data.BagData.Cool); }
public void ManyPlaceholdersGettingFromDocumentCorrect() { using (var document = new DocxDocument(Resources.WithManyPlaceholders)) { var placeholders = DocumentPlaceholder.Get(document.GetWordDocument(), "INNER"); Assert.NotNull(placeholders); Assert.AreEqual(3, placeholders.Count()); } }
public virtual IDocumentContextBuilder Placeholder(string placeholderName, Action<IDocumentContextBuilder> options) { var newPlaceholder = new DocumentPlaceholder(placeholderName); Aggregation.Add(newPlaceholder.Opening); if (options != null) { var placeholderContextBuilder = new DocxDocumentPlaceholderContextBuilder(Document, RunProperties); options(placeholderContextBuilder); Aggregation.AddRange(placeholderContextBuilder.AggregatedContent); } Aggregation.Add(newPlaceholder.Closing); return this; }
public void NewPlaceholderClosingEnclosureShouldBeCorrect() { var placeholder = new DocumentPlaceholder("TEST_PLACEHOLDER"); Assert.AreEqual("{{/TEST_PLACEHOLDER}}", placeholder.ClosingName); }
public void NewPlaceholderNameShouldBeCorrect() { var placeholder = new DocumentPlaceholder("TEST_PLACEHOLDER"); Assert.AreEqual("TEST_PLACEHOLDER", placeholder.Name); }
public void NewPlaceholderOpeningEnclosureShouldBeCorrect() { var placeholder = new DocumentPlaceholder("TEST_PLACEHOLDER"); Assert.Equal("{{TEST_PLACEHOLDER}}", placeholder.OpeningName); }
public void NewPlaceholderNameShouldBeCorrect() { var placeholder = new DocumentPlaceholder("TEST_PLACEHOLDER"); Assert.Equal("TEST_PLACEHOLDER", placeholder.Name); }