/// <summary> /// Returns all anchor elements from <paramref name="src"/>. /// </summary> /// <param name="src">Source text.</param> /// <returns>Collection of anchor elements, element definition as key and href parameter as value.</returns> private Dictionary <string, string> ParseHtmlAnchorElements(string src) { var result = new Dictionary <string, string>(); List <string> anchorElements = MailingUtilities.ParseHtmlAnchorElement(src); foreach (string anchorElement in anchorElements) { result[anchorElement] = MailingUtilities.ParseHtmlHrefValue(anchorElement); } return(result); }
/// <summary> /// Adds parameters to template <paramref name="links"/>. /// </summary> /// <param name="links">Template links.</param> private static Dictionary <string, string> ModifyTemplateLinks(IEnumerable <string> links) { var results = new Dictionary <string, string>(); foreach (string link in links) { string modifiedLink = link; string linkHref = MailingUtilities.ParseHtmlHrefValue(modifiedLink); if (!string.IsNullOrEmpty(linkHref)) { string decodedLinkHref = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(linkHref)); string modifiedLinkHref = AddParametersToLink(decodedLinkHref); modifiedLink = link.ReplaceFirstInstanceOf(linkHref, HttpUtility.HtmlEncode(modifiedLinkHref)); } results[link] = modifiedLink; } return(results); }