/// <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);
        }
Exemple #2
0
        /// <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);
        }