diff options
author | Elmer Thomas <elmer@thinkingserious.com> | 2016-12-06 03:00:28 -0800 |
---|---|---|
committer | Elmer Thomas <elmer@thinkingserious.com> | 2016-12-06 03:00:28 -0800 |
commit | 4ce5b88f6047af9d9d4bc45a38c9dfb65a9e7e07 (patch) | |
tree | 60f9d17f011f632f5c4d9b86aa75fab0e7a60e41 /src/Example/Program.cs | |
parent | 3131327a73273df4485a26de5ad4ec645918f8b3 (diff) | |
download | sendgrid-csharp-4ce5b88f6047af9d9d4bc45a38c9dfb65a9e7e07.zip sendgrid-csharp-4ce5b88f6047af9d9d4bc45a38c9dfb65a9e7e07.tar.gz sendgrid-csharp-4ce5b88f6047af9d9d4bc45a38c9dfb65a9e7e07.tar.bz2 |
.NET 4.5.X, 4.6.X and CORE Support
Diffstat (limited to 'src/Example/Program.cs')
-rw-r--r-- | src/Example/Program.cs | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/src/Example/Program.cs b/src/Example/Program.cs new file mode 100644 index 0000000..572ce7a --- /dev/null +++ b/src/Example/Program.cs @@ -0,0 +1,131 @@ +using System; +using System.Threading.Tasks; +using Newtonsoft.Json; +using SendGrid; +using SendGrid.Helpers.Mail; +using System.Collections.Generic; + +namespace Example +{ + internal class Example + { + private static void Main() + { + Execute().Wait(); + } + + static async Task Execute() + { + string apiKey = Environment.GetEnvironmentVariable("SENDGRID_APIKEY"); + Client client = new Client(apiKey); + + string data = @"{ + 'personalizations': [ + { + 'to': [ + { + 'email': 'elmer@sendgrid.com' + } + ], + 'subject': 'Hello World from the SendGrid C# Library!' + } + ], + 'from': { + 'email': 'dx@sendgrid.com' + }, + 'content': [ + { + 'type': 'text/plain', + 'value': 'Hello, Email!' + } + ] + }"; + Object json = JsonConvert.DeserializeObject<Object>(data); + Response response = await client.RequestAsync(Client.Methods.POST, + json.ToString(), + urlPath: "mail/send"); + Console.WriteLine(response.StatusCode); + Console.WriteLine(response.Body.ReadAsStringAsync().Result); + Console.WriteLine(response.Headers); + Console.ReadLine(); + + Email from = new Email("dx@sendgrid"); + string subject = "Hello World from the SendGrid CSharp Library Helper!"; + Email to = new Email("elmer@sendgrid.com"); + Content content = new Content("text/plain", "Hello, Email from the helper!"); + Mail mail = new Mail(from, subject, to, content); + + response = await client.RequestAsync(Client.Methods.POST, + mail.Get(), + urlPath: "mail/send"); + Console.WriteLine(response.StatusCode); + Console.WriteLine(response.Body.ReadAsStringAsync().Result); + Console.WriteLine(response.Headers); + Console.ReadLine(); + + // GET Collection + string queryParams = @"{ + 'limit': 100 + }"; + response = await client.RequestAsync(method: Client.Methods.GET, + urlPath: "asm/groups", + queryParams: queryParams); + Console.WriteLine(response.StatusCode); + Console.WriteLine(response.Body.ReadAsStringAsync().Result); + Console.WriteLine(response.Headers.ToString()); + Console.WriteLine("\n\nPress any key to continue to POST."); + Console.ReadLine(); + + // POST + string requestBody = @"{ + 'description': 'Suggestions for products our users might like.', + 'is_default': false, + 'name': 'Magic Products' + }"; + json = JsonConvert.DeserializeObject<object>(requestBody); + response = await client.RequestAsync(method: Client.Methods.POST, + urlPath: "asm/groups", + requestBody: json.ToString()); + var ds_response = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(response.Body.ReadAsStringAsync().Result); + string group_id = ds_response["id"].ToString(); + Console.WriteLine(response.StatusCode); + Console.WriteLine(response.Body.ReadAsStringAsync().Result); + Console.WriteLine(response.Headers.ToString()); + Console.WriteLine("\n\nPress any key to continue to GET single."); + Console.ReadLine(); + + // GET Single + response = await client.RequestAsync(method: Client.Methods.GET, + urlPath: string.Format("asm/groups/{0}", group_id)); + Console.WriteLine(response.StatusCode); + Console.WriteLine(response.Body.ReadAsStringAsync().Result); + Console.WriteLine(response.Headers.ToString()); + Console.WriteLine("\n\nPress any key to continue to PATCH."); + Console.ReadLine(); + + // PATCH + requestBody = @"{ + 'name': 'Cool Magic Products' + }"; + json = JsonConvert.DeserializeObject<object>(requestBody); + + response = await client.RequestAsync(method: Client.Methods.PATCH, + urlPath: string.Format("asm/groups/{0}", group_id), + requestBody: json.ToString()); + Console.WriteLine(response.StatusCode); + Console.WriteLine(response.Body.ReadAsStringAsync().Result); + Console.WriteLine(response.Headers.ToString()); + + Console.WriteLine("\n\nPress any key to continue to PUT."); + Console.ReadLine(); + + // DELETE + response = await client.RequestAsync(method: Client.Methods.DELETE, + urlPath: string.Format("asm/groups/{0}", group_id)); + Console.WriteLine(response.StatusCode); + Console.WriteLine(response.Headers.ToString()); + Console.WriteLine("\n\nPress any key to exit."); + Console.ReadLine(); + } + } +} |