Skip to content

Commit b40993f

Browse files
Update USE_CASES.md to support Dynamic Templates
1 parent 0fa9c20 commit b40993f

File tree

1 file changed

+26
-16
lines changed

1 file changed

+26
-16
lines changed

USE_CASES.md

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ namespace Example
5353
var to = new EmailAddress("[email protected]");
5454
var body = "Email Body";
5555
var msg = MailHelper.CreateSingleEmail(from, to, subject, body, "");
56-
var bytes = File.ReadAllBytes("/Users/username/file.txt");
56+
var bytes = File.ReadAllBytes("C:\\Users\\username\\file.txt");
5757
var file = Convert.ToBase64String(bytes);
5858
msg.AddAttachment("file.txt", file);
5959
var response = await client.SendEmailAsync(msg);
@@ -69,9 +69,9 @@ namespace Example
6969
var body = "Email Body";
7070
var msg = MailHelper.CreateSingleEmail(from, to, subject, body, "");
7171

72-
using (var fileStream = File.OpenRead("/Users/username/file.txt"))
72+
using (var fileStream = File.OpenRead("C:\\Users\\username\\file.txt"))
7373
{
74-
msg.AddAttachment("file.txt", fileStream);
74+
await msg.AddAttachmentAsync("file.txt", fileStream);
7575
var response = await client.SendEmailAsync(msg);
7676
}
7777
}
@@ -139,14 +139,19 @@ namespace Example
139139
};
140140
msg.AddHeaders(headers);
141141

142-
msg.AddSubstitution("%name1%", "Example Name 1");
143-
msg.AddSubstitution("%city1%", "Denver");
144-
var substitutions = new Dictionary<string, string>()
142+
// If you require complex substitutions this [use case](https://github.com/sendgrid/sendgrid-csharp/blob/master/USE_CASES.md#transactional-templates).
143+
var dynamicTemplateData = new ExampleTemplateData
145144
{
146-
{ "%name2%", "Example Name 2" },
147-
{ "%city2%", "Orange" }
145+
Subject = "Hi!",
146+
Name = "Example User",
147+
Location = new Location
148+
{
149+
City = "Birmingham",
150+
Country = "United Kingdom"
151+
}
148152
};
149-
msg.AddSubstitutions(substitutions);
153+
154+
msg.SetTemplateData(dynamicTemplateData);
150155

151156
msg.AddCustomArg("marketing1", "false");
152157
msg.AddCustomArg("transactional1", "true");
@@ -194,14 +199,19 @@ namespace Example
194199
};
195200
msg.AddHeaders(headers1, 1);
196201

197-
msg.AddSubstitution("%name3%", "Example Name 3", 1);
198-
msg.AddSubstitution("%city3%", "Redwood City", 1);
199-
var substitutions1 = new Dictionary<string, string>()
202+
// For a full transactional template example, please see this [use case](https://github.com/sendgrid/sendgrid-csharp/blob/master/USE_CASES.md#transactional-templates).
203+
var dynamicTemplateData2 = new ExampleTemplateData
200204
{
201-
{ "%name4%", "Example Name 4" },
202-
{ "%city4%", "London" }
205+
Subject = "Hi 2!",
206+
Name = "Example User 2",
207+
Location = new Location
208+
{
209+
City = "Birmingham 2",
210+
Country = "United Kingdom 2"
211+
}
203212
};
204-
msg.AddSubstitutions(substitutions1, 1);
213+
214+
msg.SetTemplateData(dynamicTemplateData2, 1);
205215

206216
msg.AddCustomArg("marketing3", "true", 1);
207217
msg.AddCustomArg("transactional3", "false", 1);
@@ -260,7 +270,7 @@ namespace Example
260270
msg.AddAttachments(attachments);
261271

262272
// For a full transactional template example, please see this [use case](https://github.com/sendgrid/sendgrid-csharp/blob/master/USE_CASES.md#transactional-templates).
263-
msg.SetTemplateId("13b8f94f-bcae-4ec6-b752-70d6cb59f932");
273+
msg.SetTemplateId("d-d42b0eea09964d1ab957c18986c01828");
264274

265275
msg.AddGlobalHeader("X-Day", "Monday");
266276
var globalHeaders = new Dictionary<string, string>

0 commit comments

Comments
 (0)