summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorparoos <pa.roos@icloud.com>2014-05-09 17:49:47 +0200
committerparoos <pa.roos@icloud.com>2014-05-09 17:49:47 +0200
commit3806e9f9c7dd393dc8c7e13447b0f29a733a136f (patch)
tree1683bc62f96404f0a2e59747d56ad24cfc2438f8
parentddbdf03600227f4570af96a98ffd67d33d8b9743 (diff)
downloadsendgrid-csharp-3806e9f9c7dd393dc8c7e13447b0f29a733a136f.zip
sendgrid-csharp-3806e9f9c7dd393dc8c7e13447b0f29a733a136f.tar.gz
sendgrid-csharp-3806e9f9c7dd393dc8c7e13447b0f29a733a136f.tar.bz2
Usable with an IoC Container
-rw-r--r--SendGrid/Example/Program.cs2
-rw-r--r--SendGrid/Example/WEBAPI.cs28
-rw-r--r--SendGrid/SendGridMail/SendGrid.cs37
-rw-r--r--SendGrid/Tests/TestSendgrid.cs2
-rw-r--r--SendGrid/Tests/Transport/TestWebApi.cs2
5 files changed, 35 insertions, 36 deletions
diff --git a/SendGrid/Example/Program.cs b/SendGrid/Example/Program.cs
index 7fb0960..2b99395 100644
--- a/SendGrid/Example/Program.cs
+++ b/SendGrid/Example/Program.cs
@@ -11,7 +11,7 @@ namespace Example
private static void Main()
{
// Create the email object first, then add the properties.
- var myMessage = SendGrid.GetInstance();
+ var myMessage = new SendGrid();
myMessage.AddTo("anna@example.com");
myMessage.From = new MailAddress("john@example.com", "John Smith");
myMessage.Subject = "Testing the SendGrid Library";
diff --git a/SendGrid/Example/WEBAPI.cs b/SendGrid/Example/WEBAPI.cs
index 82c37cb..11847a9 100644
--- a/SendGrid/Example/WEBAPI.cs
+++ b/SendGrid/Example/WEBAPI.cs
@@ -27,7 +27,7 @@ namespace Example
public void SimpleHTMLEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -57,7 +57,7 @@ namespace Example
public void SimplePlaintextEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -89,7 +89,7 @@ namespace Example
public void EnableGravatarEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -123,7 +123,7 @@ namespace Example
public void EnableOpenTrackingEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -158,7 +158,7 @@ namespace Example
public void EnableClickTrackingEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -197,7 +197,7 @@ namespace Example
public void EnableSpamCheckEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -233,7 +233,7 @@ namespace Example
public void EnableUnsubscribeEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -272,7 +272,7 @@ namespace Example
public void EnableFooterEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -310,7 +310,7 @@ namespace Example
public void EnableGoogleAnalytics()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -350,7 +350,7 @@ namespace Example
public void EnableTemplateEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -389,7 +389,7 @@ namespace Example
public void EnableBypassListManagementEmail()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -428,7 +428,7 @@ namespace Example
public void AddSubstitutionValues()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -470,7 +470,7 @@ namespace Example
public void AddUniqueIdentifiers()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
@@ -510,7 +510,7 @@ namespace Example
public void SetCategory()
{
//create a new message object
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
//set the message recipients
foreach (var recipient in _to)
diff --git a/SendGrid/SendGridMail/SendGrid.cs b/SendGrid/SendGridMail/SendGrid.cs
index cc87ffd..9708c82 100644
--- a/SendGrid/SendGridMail/SendGrid.cs
+++ b/SendGrid/SendGridMail/SendGrid.cs
@@ -23,8 +23,24 @@ namespace SendGridMail
#endregion
#region Initialization and Constructors
-
- internal SendGrid(MailAddress from, MailAddress[] to, MailAddress[] cc, MailAddress[] bcc,
+
+ /// <summary>
+ /// Creates an instance of SendGrid's custom message object
+ /// </summary>
+ /// <returns></returns>
+ public SendGrid() : this(new Header())
+ {
+
+ }
+
+ public SendGrid(IHeader header)
+ {
+ _message = new MailMessage();
+ Header = header;
+ Headers = new Dictionary<string, string>();
+ }
+
+ public SendGrid(MailAddress from, MailAddress[] to, MailAddress[] cc, MailAddress[] bcc,
String subject, String html, String text, IHeader header = null) : this(header)
{
From = from;
@@ -38,23 +54,6 @@ namespace SendGridMail
Html = html;
}
- internal SendGrid(IHeader header)
- {
- _message = new MailMessage();
- Header = header;
- Headers = new Dictionary<string, string>();
- }
-
- /// <summary>
- /// Creates an instance of SendGrid's custom message object
- /// </summary>
- /// <returns></returns>
- public static SendGrid GetInstance()
- {
- var header = new Header();
- return new SendGrid(header);
- }
-
/// <summary>
/// Creates an instance of SendGrid's custom message object with mail parameters
/// </summary>
diff --git a/SendGrid/Tests/TestSendgrid.cs b/SendGrid/Tests/TestSendgrid.cs
index 2ab61f7..29b3c7f 100644
--- a/SendGrid/Tests/TestSendgrid.cs
+++ b/SendGrid/Tests/TestSendgrid.cs
@@ -14,7 +14,7 @@ namespace Tests
[Test]
public void CreateMimeMessage()
{
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
var attachment = Path.GetTempFileName();
var text = "this is a test";
var html = "<b>This<\b> is a better test";
diff --git a/SendGrid/Tests/Transport/TestWebApi.cs b/SendGrid/Tests/Transport/TestWebApi.cs
index 49e0e94..37c2e6f 100644
--- a/SendGrid/Tests/Transport/TestWebApi.cs
+++ b/SendGrid/Tests/Transport/TestWebApi.cs
@@ -47,7 +47,7 @@ namespace Tests.Transport
var testHeader = new Dictionary<string, string> { { headerKey, "headervalue" } };
const string categoryName = "Example Category";
- var message = SendGrid.GetInstance();
+ var message = new SendGrid();
message.AddTo(toAddress);
message.AddCc(ccAddress);
message.AddBcc(bccAddress);