void ReplaceRow(KeyValuePair<string, bool?> control, ref Wd.Range range) { var bookmark = "EditDetails_" + control.Key.Replace(' ', '_'); var controls = Doc.ContentControls(x => x.Title == control.Key); if (control.Value == null) { if (ControlsFound(controls)) range.Rows[1].Delete(); range.InsertFile_Safe1(Doc.Template().FullName, bookmark); } else if (control.Value == true) if (!(ControlsFound(controls))) range.InsertFile_Safe1(Doc.Template().FullName, bookmark); if (range.Information[Wd.WdInformation.wdWithInTable]) range = range.Rows[1].Range.CollapseEnd(); }
void ReplaceControl(KeyValuePair<string, bool?> control, ref Wd.Range range) { var bookmark = "EditDetails_" + control.Key.Replace(' ', '_'); var controls = Doc.ContentControls(x => x.Title == control.Key); if (control.Value == null) { if (ControlsFound(controls)) controls.DeleteRowsOrParagraphs(); range = range.InsertFile_Safe1(Doc.Template().FullName, bookmark).CollapseStart(); } else if (control.Value == true) { if (ControlsFound(controls)) range = controls[0].CollapsePastRowOrParagraph(Wd.WdCollapseDirection.wdCollapseStart); else range = range.InsertFile_Safe1(Doc.Template().FullName, bookmark).CollapseStart(); } else if (control.Value == false && controls.Count != 0) range = controls[0].CollapsePastRowOrParagraph(Wd.WdCollapseDirection.wdCollapseStart); Doc.Bookmarks.DeleteIfExists(bookmark); }
void ReplaceControl(ControlFragment fragment, ref Wd.Range range) { var bookmark = "EditDetails_" + fragment.Title.Replace(' ', '_'); var controls = Doc.ContentControls(x => x.Title == fragment.Title || (fragment.AdditionalControlsTitles != null && Array.IndexOf(fragment.AdditionalControlsTitles, x.Title) >= 0)); if (fragment.Replace == null) { if (ControlsFound(controls)) controls.DelteRowOrParagraph(); range = range.InsertFile_Safe1(Doc.Template().FullName, bookmark).CollapseEnd(); } else if (fragment.Replace == true) { if (ControlsFound(controls)) range = controls[0].CollapsePastRowOrParagraph(Wd.WdCollapseDirection.wdCollapseEnd); else range = range.InsertFile_Safe1(Doc.Template().FullName, bookmark).CollapseEnd(); } else if (fragment.Replace == false && controls.Count != 0) range = controls[0].CollapsePastRowOrParagraph(Wd.WdCollapseDirection.wdCollapseEnd); Doc.Bookmarks.DeleteIfExists(bookmark); }
public static void InsertOrRemove(this string[] controlTags, ref Wd.Range range, bool KeepControls, Wd.WdCollapseDirection CollapseDirection = Wd.WdCollapseDirection.wdCollapseEnd) { Wd.Document doc = range.Document; var bookmark = "EditDetails_" + controlTags.First().Replace(' ', '_'); if (!doc.ContentControls().AllExist(controlTags)) { doc.ContentControls(x => StringArray.Contains(controlTags, x.Tag)).DelteRowOrParagraph(); if (KeepControls) { range = range.InsertFile_Safe1(doc.Template().FullName, bookmark); range.Collapse(CollapseDirection); } } if (KeepControls) { range = doc.ContentControls(x => x.Tag == controlTags.First()).First().CollapsePastRowOrParagraph(CollapseDirection); doc.ContentControls(x => StringArray.Contains(controlTags, x.Tag) && x.ShowingPlaceholderText).DeleteWithTrailingWhiteSpaceOrParagraphIfEmpty(); } else doc.ContentControls(x => StringArray.Contains(controlTags, x.Tag)).DelteRowOrParagraph(); range.Document.Bookmarks.DeleteIfExists(bookmark); }
public static Wd.Range InsertOrRemove(this IList<Wd.ContentControl> controls, ref Wd.Range range, bool KeepControl, string ControlTag, Wd.WdCollapseDirection CollapseDirection = Wd.WdCollapseDirection.wdCollapseEnd) { var bookmark = "EditDetails_" + ControlTag.Replace(' ', '_'); if (controls.Count == 0 && KeepControl) { range = range.InsertFile_Safe1(range.Document.Template().FullName, bookmark); range.Collapse(CollapseDirection); } foreach (Wd.ContentControl control in controls) if (KeepControl) range = control.CollapsePastRowOrParagraph(CollapseDirection); else control.DelteRowOrParagraphOrRepeater(); range.Document.Bookmarks.DeleteIfExists(bookmark); return range; }