The
- Code: Select all
dd1
- Code: Select all
navigator.MoveToBookmark(mapping.SubParagraphCode);
- Code: Select all
dd
- Code: Select all
BookmarksNavigator navigator = new BookmarksNavigator(document);
var orderedMappings = mappings
.GroupBy(m => m.OptionCode)
.OrderBy(m => m.Key)
.ToDictionary(x => x.Key, x => x.ToList());
var a1 = document.Bookmarks;
List<string> dd1 = new List<string>();
foreach (var b in a1)
{
var ss = b.GetType().GetProperty("Name").GetValue(b, null);
dd1.Add(ss.ToString());
}
foreach (var mappingKey in orderedMappings.Keys)
{
if (!modelSelectedOptions.Contains(mappingKey))
{
continue;
}
var optionMappings = orderedMappings[mappingKey];
foreach (var mapping in optionMappings)
{
try
{
if (null == document.Bookmarks[mapping.SubParagraphCode])
{
continue;
}
navigator.MoveToBookmark(mapping.SubParagraphCode);
switch (mapping.Action)
{
case ParagraphChangeAction.MANUAL_ENTRY:
{
navigator.ReplaceBookmarkContent(manualEntrieValues[mapping.OptionCode], true);
break;
}
case ParagraphChangeAction.REPLACE_TEXT:
{
navigator.ReplaceBookmarkContent(mapping.ReplaceValue, true);
break;
}
case ParagraphChangeAction.REMOVE_TEXT:
{
navigator.ReplaceBookmarkContent(string.Empty, true);
break;
}
case ParagraphChangeAction.REMOVE_PARAGRAPH:
{
navigator.ReplaceBookmarkContent(string.Empty, true);
break;
}
case ParagraphChangeAction.KEEP_TEXT:
case ParagraphChangeAction.IGNORE_TEXT:
{
break;
}
case ParagraphChangeAction.CALCULATE:
{
#region Logic for paragraph P12
if (mapping.SubParagraphCode == "P12_1")
{
navigator.ReplaceBookmarkContent(ParagraphReplacingWords.TakeBy[ParagraphReplacingWords.P12_1][language], true);
}
#endregion
#region Logic for paragraph P15
if (mapping.SubParagraphCode == "P15_3" && modelSelectedOptions.Any(so => so == "H1" || so == "H2"))
{
navigator.ReplaceBookmarkContent(mapping.ReplaceValue, true);
}
if (mapping.SubParagraphCode == "P15_6" && modelSelectedOptions.Any(so => so == "H3"))
{
navigator.ReplaceBookmarkContent(mapping.ReplaceValue.Replace("cu modificarile ulterioare", string.Empty), true);
}
#endregion
#region Logic for paragraph P18
if (mapping.SubParagraphCode == "P18_2" && modelSelectedOptions.Any(so => so == "H1" || so == "H2"))
{
navigator.ReplaceBookmarkContent(mapping.ReplaceValue, true);
}
if (mapping.SubParagraphCode == "P18_5" && modelSelectedOptions.Any(so => so == "H3"))
{
navigator.ReplaceBookmarkContent(mapping.ReplaceValue.Replace("cu modificarile ulterioare", string.Empty), true);
}
#endregion
#region Logic for paragraph P34
if (mapping.SubParagraphCode == "P34_8" && modelSelectedOptions.Any(so => so == "H1" || so == "H2"))
{
navigator.ReplaceBookmarkContent(ParagraphReplacingWords.TakeBy[ParagraphReplacingWords.P34_8_NonH3][language], true);
}
if (mapping.SubParagraphCode == "P34_8" && modelSelectedOptions.Any(so => so == "H3"))
{
navigator.ReplaceBookmarkContent(ParagraphReplacingWords.TakeBy[ParagraphReplacingWords.P34_8_H3][language], true);
}
#endregion
break;
}
case ParagraphChangeAction.UNCHANGED:
case ParagraphChangeAction.TBD:
default:
{
continue;
}
}
}
catch (Exception ex)
{
var msg = ex.Message;
throw;
}
}
}
var a = document.Bookmarks;
List<string> dd = new List<string>();
foreach (var b in a)
{
var ss = b.GetType().GetProperty("Name").GetValue(b, null);
dd.Add(ss.ToString());
}