Skip to content

Commit dc345b3

Browse files
Naming conventions
1 parent 3f2c708 commit dc345b3

File tree

7 files changed

+113
-103
lines changed

7 files changed

+113
-103
lines changed

USE_CASES.md

+31-21
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,27 @@ This documentation provides examples for specific use cases. Please [open an iss
22

33
# Table of Contents
44

5-
* [Email - Attachments](#attachments)
6-
* [Email - Kitchen Sink - an example with all settings used](#kitchensink)
7-
* [Email - Send a Single Email to Multiple Recipients](#singleemailmultiplerecipients)
8-
* [Email - Send a Single Email to a Single Recipient](#singleemailsinglerecipient)
9-
* [Email - Send Multiple Emails to Multiple Recipients](#multipleemailsmultiplerecipients)
10-
* [Email - Dynamic Transactional Templates](#dynamic-transactional-templates)
11-
* [Email - _Legacy_ Transactional Templates](#transactional-templates)
12-
* [Transient Fault Handling](#transient-faults)
13-
* [How to Setup a Domain Whitelabel](#domain-whitelabel)
14-
* [How to View Email Statistics](#email-stats)
15-
* [How to transform HTML to plain text](#html-to-plain-text)
5+
- [Table of Contents](#table-of-contents)
6+
- [Attachments](#attachments)
7+
- [Kitchen Sink - an example with all settings used](#kitchen-sink---an-example-with-all-settings-used)
8+
- [Send a Single Email to Multiple Recipients](#send-a-single-email-to-multiple-recipients)
9+
- [Send a Single Email to a Single Recipient](#send-a-single-email-to-a-single-recipient)
10+
- [Send Multiple Emails to Multiple Recipients](#send-multiple-emails-to-multiple-recipients)
11+
- [Transactional Templates](#transactional-templates)
12+
- [With Mail Helper Class](#with-mail-helper-class)
13+
- [Without Mail Helper Class](#without-mail-helper-class)
14+
- [_Legacy_ Transactional Templates](#legacy-transactional-templates)
15+
- [Legacy Template With Mail Helper Class](#legacy-template-with-mail-helper-class)
16+
- [Legacy Template Without Mail Helper Class](#legacy-template-without-mail-helper-class)
17+
- [Transient Fault Handling](#transient-fault-handling)
18+
- [RetryCount](#retrycount)
19+
- [MinimumBackOff](#minimumbackoff)
20+
- [MaximumBackOff](#maximumbackoff)
21+
- [DeltaBackOff](#deltabackoff)
22+
- [Examples](#examples)
23+
- [How to Setup a Domain Whitelabel](#how-to-setup-a-domain-whitelabel)
24+
- [How to View Email Statistics](#how-to-view-email-statistics)
25+
- [How to transform HTML to plain text](#how-to-transform-html-to-plain-text)
1626

1727
<a name="attachments"></a>
1828
# Attachments
@@ -469,10 +479,10 @@ namespace Example
469479
}
470480
```
471481

472-
<a name="dynamic-transactional-templates"></a>
473-
# Dynamic Transactional Templates
482+
<a name="transactional-templates"></a>
483+
# Transactional Templates
474484

475-
For this example, we assume you have created a [dynamic transactional template](https://sendgrid.com/docs/User_Guide/Transactional_Templates/Create_and_edit_dynamic_transactional_templates.html).
485+
For this example, we assume you have created a [transactional template](https://sendgrid.com/docs/User_Guide/Transactional_Templates/Create_and_edit_dynamic_transactional_templates.html).
476486
Following is the template content we used for testing.
477487

478488
Template ID (replace with your own):
@@ -576,9 +586,9 @@ namespace Example
576586
```
577587

578588
Methods also exist on `MailHelper` to create dynamic template emails:
579-
* `CreateSingleDynamicTemplateEmail`
580-
* `CreateSingleDynamicTemplateEmailToMultipleRecipients`
581-
* `CreateMultipleDynamicTemplateEmailsToMultipleRecipients`
589+
* `CreateSingleTemplateEmail`
590+
* `CreateSingleTemplateEmailToMultipleRecipients`
591+
* `CreateMultipleTemplateEmailsToMultipleRecipients`
582592

583593
## Without Mail Helper Class
584594

@@ -638,10 +648,10 @@ namespace Example
638648
}
639649
```
640650

641-
<a name="transactional-templates"></a>
651+
<a name="legacy-transactional-templates"></a>
642652
# _Legacy_ Transactional Templates
643653

644-
For this example, we assume you have created a [transactional template](https://sendgrid.com/docs/User_Guide/Transactional_Templates/index.html). Following is the template content we used for testing.
654+
For this example, we assume you have created a [legacy transactional template](https://sendgrid.com/docs/User_Guide/Transactional_Templates/index.html). Following is the template content we used for testing.
645655

646656
Template ID (replace with your own):
647657

@@ -675,7 +685,7 @@ I hope you are having a great day in -city- :)
675685
</html>
676686
```
677687

678-
## With Mail Helper Class
688+
## Legacy Template With Mail Helper Class
679689

680690
```csharp
681691
using SendGrid;
@@ -714,7 +724,7 @@ namespace Example
714724
}
715725
```
716726

717-
## Without Mail Helper Class
727+
## Legacy Template Without Mail Helper Class
718728

719729
```csharp
720730
using Newtonsoft.Json;

src/SendGrid/Helpers/Mail/MailHelper.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public static SendGridMessage CreateSingleEmail(
6161
/// <param name="templateId">The ID of the template.</param>
6262
/// <param name="dynamicTemplateData">The data with which to populate the dynamic template.</param>
6363
/// <returns>A SendGridMessage object.</returns>
64-
public static SendGridMessage CreateSingleDynamicTemplateEmail(
64+
public static SendGridMessage CreateSingleTemplateEmail(
6565
EmailAddress from,
6666
EmailAddress to,
6767
string templateId,
@@ -79,7 +79,7 @@ public static SendGridMessage CreateSingleDynamicTemplateEmail(
7979

8080
if (dynamicTemplateData != null)
8181
{
82-
msg.SetDynamicTemplateData(dynamicTemplateData);
82+
msg.SetTemplateData(dynamicTemplateData);
8383
}
8484

8585
return msg;
@@ -130,7 +130,7 @@ public static SendGridMessage CreateSingleEmailToMultipleRecipients(
130130
/// <param name="templateId">The ID of the template.</param>
131131
/// <param name="dynamicTemplateData">The data with which to populate the dynamic template.</param>
132132
/// <returns>A SendGridMessage object.</returns>
133-
public static SendGridMessage CreateSingleDynamicTemplateEmailToMultipleRecipients(
133+
public static SendGridMessage CreateSingleTemplateEmailToMultipleRecipients(
134134
EmailAddress from,
135135
List<EmailAddress> tos,
136136
string templateId,
@@ -153,7 +153,7 @@ public static SendGridMessage CreateSingleDynamicTemplateEmailToMultipleRecipien
153153

154154
if (setDynamicTemplateDataValues)
155155
{
156-
msg.SetDynamicTemplateData(dynamicTemplateData, i);
156+
msg.SetTemplateData(dynamicTemplateData, i);
157157
}
158158
}
159159

@@ -208,7 +208,7 @@ public static SendGridMessage CreateMultipleEmailsToMultipleRecipients(
208208
/// <param name="templateId">The ID of the template.</param>
209209
/// <param name="dynamicTemplateData">The data with which to populate the dynamic template.</param>
210210
/// <returns>A SendGridMessage object.</returns>
211-
public static SendGridMessage CreateMultipleDynamicTemplateEmailsToMultipleRecipients(
211+
public static SendGridMessage CreateMultipleTemplateEmailsToMultipleRecipients(
212212
EmailAddress from,
213213
List<EmailAddress> tos,
214214
string templateId,
@@ -231,7 +231,7 @@ public static SendGridMessage CreateMultipleDynamicTemplateEmailsToMultipleRecip
231231

232232
if (setDynamicTemplateDataValues)
233233
{
234-
msg.SetDynamicTemplateData(dynamicTemplateData[i], i);
234+
msg.SetTemplateData(dynamicTemplateData[i], i);
235235
}
236236
}
237237

src/SendGrid/Helpers/Mail/Model/Personalization.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ public class Personalization
6565
public long? SendAt { get; set; }
6666

6767
/// <summary>
68-
/// Gets or sets the dynamic template data object following the pattern "dynamic template data key":"dynamic template data value". All are assumed to be strings. These key value pairs will apply to the content of your dynamic template email, in addition to the subject and reply-to parameters.
68+
/// Gets or sets the template data object following the pattern "template data key":"template data value". All are assumed to be strings. These key value pairs will apply to the content of your template email, in addition to the subject and reply-to parameters.
6969
/// </summary>
7070
[JsonProperty(PropertyName = "dynamic_template_data", IsReference = false)]
71-
public object DynamicTemplateData { get; set; }
71+
public object TemplateData { get; set; }
7272
}
7373
}

src/SendGrid/Helpers/Mail/SendGridMessage.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -759,14 +759,14 @@ public void AddSubstitutions(Dictionary<string, string> substitutions, int perso
759759
/// <summary>
760760
/// Add dynamic template data to the email.
761761
/// </summary>
762-
/// <param name="dynamicTemplateData">A Dynamic Template Data object.</param>
762+
/// <param name="dynamicTemplateData">A Template Data object.</param>
763763
/// <param name="personalizationIndex">Specify the index of the Personalization object where you want to add the substitutions.</param>
764764
/// <param name="personalization">A personalization object to append to the message.</param>
765-
public void SetDynamicTemplateData(object dynamicTemplateData, int personalizationIndex = 0, Personalization personalization = null)
765+
public void SetTemplateData(object dynamicTemplateData, int personalizationIndex = 0, Personalization personalization = null)
766766
{
767767
if (personalization != null)
768768
{
769-
personalization.DynamicTemplateData = dynamicTemplateData;
769+
personalization.TemplateData = dynamicTemplateData;
770770
if (this.Personalizations == null)
771771
{
772772
this.Personalizations = new List<Personalization>();
@@ -788,20 +788,20 @@ public void SetDynamicTemplateData(object dynamicTemplateData, int personalizati
788788
this.Personalizations.Insert(personalizationIndex, p);
789789
}
790790

791-
if (this.Personalizations[personalizationIndex].DynamicTemplateData == null)
791+
if (this.Personalizations[personalizationIndex].TemplateData == null)
792792
{
793-
this.Personalizations[personalizationIndex].DynamicTemplateData = new Dictionary<string, object>();
793+
this.Personalizations[personalizationIndex].TemplateData = new Dictionary<string, object>();
794794
}
795795

796-
this.Personalizations[personalizationIndex].DynamicTemplateData = dynamicTemplateData;
796+
this.Personalizations[personalizationIndex].TemplateData = dynamicTemplateData;
797797
return;
798798
}
799799

800800
this.Personalizations = new List<Personalization>()
801801
{
802802
new Personalization()
803803
{
804-
DynamicTemplateData = dynamicTemplateData
804+
TemplateData = dynamicTemplateData
805805
}
806806
};
807807
return;

tests/SendGrid.Tests/Helpers/Mail/MailHelperTests.cs

+32-32
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@
44
using Xunit;
55

66
namespace SendGrid.Tests.Helpers.Mail
7-
{
8-
public class MailHelperTests
9-
{
10-
[Theory]
11-
[InlineData("Name Of A Person+", "[email protected]", "Name Of A Person+ < [email protected] > ")]
12-
[InlineData("", "[email protected]", " [email protected] ")]
13-
[InlineData(null, "notAValidEmail", "notAValidEmail")]
14-
public void TestStringToEmail(string expectedName, string expectedEmail, string rf2822Email)
15-
{
16-
var address = MailHelper.StringToEmailAddress(rf2822Email);
17-
Assert.Equal(expectedEmail, address.Email);
18-
Assert.Equal(expectedName, address.Name);
19-
}
20-
21-
[Fact]
22-
public void TestCreateSingleDynamicTemplateEmail()
7+
{
8+
public class MailHelperTests
9+
{
10+
[Theory]
11+
[InlineData("Name Of A Person+", "[email protected]", "Name Of A Person+ < [email protected] > ")]
12+
[InlineData("", "[email protected]", " [email protected] ")]
13+
[InlineData(null, "notAValidEmail", "notAValidEmail")]
14+
public void TestStringToEmail(string expectedName, string expectedEmail, string rf2822Email)
15+
{
16+
var address = MailHelper.StringToEmailAddress(rf2822Email);
17+
Assert.Equal(expectedEmail, address.Email);
18+
Assert.Equal(expectedName, address.Name);
19+
}
20+
21+
[Fact]
22+
public void TestCreateSingleTemplateEmail()
2323
{
2424
var from = new EmailAddress("[email protected]", "FromName");
2525
var to = new EmailAddress("[email protected]");
@@ -29,7 +29,7 @@ public void TestCreateSingleDynamicTemplateEmail()
2929
{ "key1", "value1" }
3030
};
3131

32-
var sendGridMessage = MailHelper.CreateSingleDynamicTemplateEmail(
32+
var sendGridMessage = MailHelper.CreateSingleTemplateEmail(
3333
from,
3434
to,
3535
templateId,
@@ -38,11 +38,11 @@ public void TestCreateSingleDynamicTemplateEmail()
3838
Assert.Equal(from, sendGridMessage.From);
3939
Assert.Equal(to, sendGridMessage.Personalizations.Single().Tos.Single());
4040
Assert.Equal(templateId, sendGridMessage.TemplateId);
41-
Assert.Equal(dynamicTemplateData, sendGridMessage.Personalizations.Single().DynamicTemplateData);
42-
}
43-
44-
[Fact]
45-
public void TestCreateSingleDynamicTemplateEmailToMultipleRecipients()
41+
Assert.Equal(dynamicTemplateData, sendGridMessage.Personalizations.Single().TemplateData);
42+
}
43+
44+
[Fact]
45+
public void TestCreateSingleTemplateEmailToMultipleRecipients()
4646
{
4747
var from = new EmailAddress("[email protected]", "FromName");
4848
var tos = new List<EmailAddress>
@@ -67,12 +67,12 @@ public void TestCreateSingleDynamicTemplateEmailToMultipleRecipients()
6767
Assert.Equal(tos[0], sendGridMessage.Personalizations.ElementAt(0).Tos.Single());
6868
Assert.Equal(tos[1], sendGridMessage.Personalizations.ElementAt(1).Tos.Single());
6969
Assert.Equal(templateId, sendGridMessage.TemplateId);
70-
Assert.Equal(dynamicTemplateData, sendGridMessage.Personalizations.ElementAt(0).DynamicTemplateData);
71-
Assert.Equal(dynamicTemplateData, sendGridMessage.Personalizations.ElementAt(1).DynamicTemplateData);
72-
}
73-
74-
[Fact]
75-
public void TestCreateMultipleDynamicTemplateEmailsToMultipleRecipients()
70+
Assert.Equal(dynamicTemplateData, sendGridMessage.Personalizations.ElementAt(0).TemplateData);
71+
Assert.Equal(dynamicTemplateData, sendGridMessage.Personalizations.ElementAt(1).TemplateData);
72+
}
73+
74+
[Fact]
75+
public void TestCreateMultipleTemplateEmailsToMultipleRecipients()
7676
{
7777
var from = new EmailAddress("[email protected]", "FromName");
7878
var tos = new List<EmailAddress>
@@ -88,7 +88,7 @@ public void TestCreateMultipleDynamicTemplateEmailsToMultipleRecipients()
8888
new { key2 = "value2" }
8989
};
9090

91-
var sendGridMessage = MailHelper.CreateMultipleDynamicTemplateEmailsToMultipleRecipients(
91+
var sendGridMessage = MailHelper.CreateMultipleTemplateEmailsToMultipleRecipients(
9292
from,
9393
tos,
9494
templateId,
@@ -98,8 +98,8 @@ public void TestCreateMultipleDynamicTemplateEmailsToMultipleRecipients()
9898
Assert.Equal(tos[0], sendGridMessage.Personalizations.ElementAt(0).Tos.Single());
9999
Assert.Equal(tos[1], sendGridMessage.Personalizations.ElementAt(1).Tos.Single());
100100
Assert.Equal(templateId, sendGridMessage.TemplateId);
101-
Assert.Equal(dynamicTemplateData[0], sendGridMessage.Personalizations.ElementAt(0).DynamicTemplateData);
102-
Assert.Equal(dynamicTemplateData[1], sendGridMessage.Personalizations.ElementAt(1).DynamicTemplateData);
103-
}
101+
Assert.Equal(dynamicTemplateData[0], sendGridMessage.Personalizations.ElementAt(0).TemplateData);
102+
Assert.Equal(dynamicTemplateData[1], sendGridMessage.Personalizations.ElementAt(1).TemplateData);
103+
}
104104
}
105105
}

0 commit comments

Comments
 (0)