summaryrefslogtreecommitdiffstats
path: root/src/SendGrid/Helpers/Mail/SendGridMessage.cs
diff options
context:
space:
mode:
authorElmer Thomas <elmer@thinkingserious.com>2016-12-12 23:58:19 -0800
committerElmer Thomas <elmer@thinkingserious.com>2016-12-12 23:58:19 -0800
commit83a0891c8917d06031571015e24c1acf88ac4ae2 (patch)
tree7b7f015a1c4f8a587624ada56a0af7746ef0a882 /src/SendGrid/Helpers/Mail/SendGridMessage.cs
parentff603f56e723d3e49c453cfdfe8dcf05617b6b50 (diff)
downloadsendgrid-csharp-origin/single-email.zip
sendgrid-csharp-origin/single-email.tar.gz
sendgrid-csharp-origin/single-email.tar.bz2
Properties FTW, Cancellation Tokens, Reorganizeorigin/single-email
Based on feedback from @darrelmiller and @jkewley on issue #331 and @taspeotis on issue 317. See ExampleCore for working example.
Diffstat (limited to 'src/SendGrid/Helpers/Mail/SendGridMessage.cs')
-rw-r--r--src/SendGrid/Helpers/Mail/SendGridMessage.cs88
1 files changed, 5 insertions, 83 deletions
diff --git a/src/SendGrid/Helpers/Mail/SendGridMessage.cs b/src/SendGrid/Helpers/Mail/SendGridMessage.cs
index 97f7146..2bde42a 100644
--- a/src/SendGrid/Helpers/Mail/SendGridMessage.cs
+++ b/src/SendGrid/Helpers/Mail/SendGridMessage.cs
@@ -1,4 +1,5 @@
-using Newtonsoft.Json;
+using System;
+using Newtonsoft.Json;
using System.Collections.Generic;
namespace SendGrid.Helpers.Mail
@@ -8,24 +9,8 @@ namespace SendGrid.Helpers.Mail
/// </summary>
public class SendGridMessage
{
- public SendGridMessage()
- {
- }
-
- public SendGridMessage(MailAddress from, string subject, MailAddress to, Content content)
- {
- this.From = from;
-
- var personalization = new Personalization();
- personalization.AddTo(to);
- this.AddPersonalization(personalization);
-
- this.Subject = subject;
- this.AddContent(content);
- }
-
[JsonProperty(PropertyName = "from")]
- public MailAddress From { get; set; }
+ public EmailAddress From { get; set; }
[JsonProperty(PropertyName = "subject")]
public string Subject { get; set; }
@@ -73,72 +58,9 @@ namespace SendGrid.Helpers.Mail
public TrackingSettings TrackingSettings { get; set; }
[JsonProperty(PropertyName = "reply_to")]
- public MailAddress ReplyTo { get; set; }
-
- public void AddPersonalization(Personalization personalization)
- {
- if (Personalization == null)
- {
- Personalization = new List<Personalization>();
- }
- Personalization.Add(personalization);
- }
-
- public void AddContent(Content content)
- {
- if (Contents == null)
- {
- Contents = new List<Content>();
- }
- Contents.Add(content);
- }
-
- public void AddAttachment(Attachment attachment)
- {
- if (Attachments == null)
- {
- Attachments = new List<Attachment>();
- }
- Attachments.Add(attachment);
- }
-
- public void AddHeader(string key, string value)
- {
- if (Headers == null)
- {
- Headers = new Dictionary<string, string>();
- }
- Headers.Add(key, value);
- }
-
- public void AddSection(string key, string value)
- {
- if (Sections == null)
- {
- Sections = new Dictionary<string, string>();
- }
- Sections.Add(key, value);
- }
-
- public void AddCategory(string category)
- {
- if (Categories == null)
- {
- Categories = new List<string>();
- }
- Categories.Add(category);
- }
-
- public void AddCustomArgs(string key, string value)
- {
- if (CustomArgs == null)
- {
- CustomArgs = new Dictionary<string, string>();
- }
- CustomArgs.Add(key, value);
- }
+ public EmailAddress ReplyTo { get; set; }
- public string Get()
+ public string Serialize()
{
return JsonConvert.SerializeObject(this,
Formatting.None,