Beispiel #1
0
        /// <summary>
        /// Add a ordered list.
        /// </summary>
        /// <param name="items"></param>
        /// <returns></returns>
        public MailBlockFluent OrderedList(IEnumerable <MailBlockFluent> items)
        {
            var builder = new StringBuilder();

            foreach (var item in items)
            {
                builder.Append(string.Format(_template.ListItem, MailBody.HtmlEncode(item.ToString())));
            }
            _body.Append(string.Format(_template.OrderedList, builder.ToString()));
            return(this);
        }
Beispiel #2
0
 /// <summary>
 /// Add a new paragraph.
 /// </summary>
 /// <param name="content"></param>
 /// <returns></returns>
 public MailBlockFluent Paragraph(string content, dynamic attributes = null)
 {
     _commands.Add(() =>
     {
         var element = new ContentElement
         {
             Content    = MailBody.HtmlEncode(content),
             Attributes = attributes
         };
         return(_template.Paragraph()(element));
     });
     return(this);
 }
Beispiel #3
0
 /// <summary>
 /// Add a strong text.
 /// </summary>
 /// <param name="text"></param>
 /// <returns></returns>
 public MailBlockFluent StrongText(string text, dynamic attributes = null)
 {
     _commands.Add(() =>
     {
         var element = new ContentElement
         {
             Content    = MailBody.HtmlEncode(text),
             Attributes = attributes
         };
         return(_template.StrongText()(element));
     });
     return(this);
 }
Beispiel #4
0
 /// <summary>
 /// Add a button with a link.
 /// </summary>
 /// <param name="link"></param>
 /// <param name="text"></param>
 /// <returns></returns>
 public MailBlockFluent Button(string link, string text, dynamic attributes = null)
 {
     _commands.Add(() =>
     {
         var element = new ActionElement
         {
             Content    = MailBody.HtmlEncode(text),
             Link       = MailBody.AttributeEncode(link),
             Attributes = attributes
         };
         return(_template.Button()(element));
     });
     return(this);
 }
 public MailBlockFluent Image(string link, string alternativeText, dynamic attributes = null)
 {
     _commands.Add(() =>
     {
         var element = new ImageElement
         {
             Content    = MailBody.HtmlEncode(alternativeText),
             Src        = MailBody.AttributeEncode(link),
             Attributes = attributes
         };
         return(_template.Image()(element));
     });
     return(this);
 }
Beispiel #6
0
 /// <summary>
 /// Add a ordered list.
 /// </summary>
 /// <param name="items"></param>
 /// <returns></returns>
 public MailBlockFluent OrderedList(IEnumerable <MailBlockFluent> items, dynamic attributes = null)
 {
     _commands.Add(() =>
     {
         var builder = new StringBuilder();
         foreach (var item in items)
         {
             var itemElement = new ContentElement {
                 Content = MailBody.HtmlEncode(item.ToString()), Attributes = attributes
             };
             builder.Append(_template.ListItem()(itemElement));
         }
         var element = new ContentElement {
             Content = builder.ToString(), Attributes = attributes
         };
         return(_template.OrderedList()(element));
     });
     return(this);
 }
Beispiel #7
0
 /// <summary>
 /// Add a strong text.
 /// </summary>
 /// <param name="text"></param>
 /// <returns></returns>
 public MailBlockFluent StrongText(string text)
 {
     _body.Append(string.Format(_template.StrongText, MailBody.HtmlEncode(text)));
     return(this);
 }
Beispiel #8
0
 /// <summary>
 /// Add a button with a link.
 /// </summary>
 /// <param name="link"></param>
 /// <param name="text"></param>
 /// <returns></returns>
 public MailBlockFluent Button(string link, string text)
 {
     _body.Append(string.Format(_template.Button, MailBody.HtmlEncode(link), MailBody.HtmlEncode(text)));
     return(this);
 }
Beispiel #9
0
 /// <summary>
 /// Add a new paragraph.
 /// </summary>
 /// <param name="content"></param>
 /// <returns></returns>
 public MailBlockFluent Paragraph(string content)
 {
     _body.Append(string.Format(_template.Paragraph, MailBody.HtmlEncode(content)));
     return(this);
 }
Beispiel #10
0
 /// <summary>
 /// Add a new subtitle.
 /// </summary>
 /// <param name="content"></param>
 /// <returns></returns>
 public MailBlockFluent SubTitle(string content)
 {
     _body.Append(string.Format(_template.SubTitle, MailBody.HtmlEncode(content)));
     return(this);
 }