11using System ;
22using System . Collections . Generic ;
3- using System . Net ;
43using System . Net . Http ;
54using System . Net . Mail ;
65using Newtonsoft . Json . Linq ;
@@ -18,8 +17,9 @@ private static void Main()
1817 SendEmail ( to , from , fromName ) ;
1918 // Test viewing, creating, modifying and deleting API keys through our v3 Web API
2019 ApiKeys ( ) ;
20+ UnsubscribeGroups ( ) ;
2121 }
22-
22+
2323 private static void SendAsync ( SendGrid . SendGridMessage message )
2424 {
2525 string apikey = Environment . GetEnvironmentVariable ( "SENDGRID_APIKEY" ) ;
@@ -97,5 +97,46 @@ private static void ApiKeys()
9797 Console . WriteLine ( "API Key Deleted, press any key to end" ) ;
9898 Console . ReadKey ( ) ;
9999 }
100+
101+ private static void UnsubscribeGroups ( )
102+ {
103+ String apiKey = Environment . GetEnvironmentVariable ( "SENDGRID_APIKEY" , EnvironmentVariableTarget . User ) ;
104+ var client = new SendGrid . Client ( apiKey ) ;
105+
106+ // GET UNSUBSCRIBE GROUPS
107+ HttpResponseMessage responseGet = client . UnsubscribeGroups . Get ( ) . Result ;
108+ Console . WriteLine ( responseGet . StatusCode ) ;
109+ Console . WriteLine ( responseGet . Content . ReadAsStringAsync ( ) . Result ) ;
110+ Console . WriteLine ( "These are your current Unsubscribe Groups. Press any key to continue." ) ;
111+ Console . ReadKey ( ) ;
112+
113+ // GET A PARTICULAR UNSUBSCRIBE GROUP
114+ int unsubscribeGroupID = 69 ;
115+ HttpResponseMessage responseGetUnique = client . UnsubscribeGroups . Get ( unsubscribeGroupID ) . Result ;
116+ Console . WriteLine ( responseGetUnique . StatusCode ) ;
117+ Console . WriteLine ( responseGetUnique . Content . ReadAsStringAsync ( ) . Result ) ;
118+ Console . WriteLine ( "These is an Unsubscribe Group with ID: " + unsubscribeGroupID . ToString ( ) + ". Press any key to continue." ) ;
119+ Console . ReadKey ( ) ;
120+
121+ // POST UNSUBSCRIBE GROUP
122+ HttpResponseMessage responsePost = client . UnsubscribeGroups . Post ( "C Sharp Unsubscribes" , "Testing the C Sharp Library" , false ) . Result ;
123+ var rawString = responsePost . Content . ReadAsStringAsync ( ) . Result ;
124+ dynamic jsonObject = JObject . Parse ( rawString ) ;
125+ var unsubscribeGroupId = jsonObject . id . ToString ( ) ;
126+ Console . WriteLine ( responsePost . StatusCode ) ;
127+ Console . WriteLine ( responsePost . Content . ReadAsStringAsync ( ) . Result ) ;
128+ Console . WriteLine ( "Unsubscribe Group created. Press any key to continue." ) ;
129+ Console . ReadKey ( ) ;
130+
131+ // DELETE UNSUBSCRIBE GROUP
132+ Console . WriteLine ( "Deleting Unsubscribe Group, please wait." ) ;
133+ HttpResponseMessage responseDelete = client . UnsubscribeGroups . Delete ( unsubscribeGroupId ) . Result ;
134+ Console . WriteLine ( responseDelete . StatusCode ) ;
135+ HttpResponseMessage responseFinal = client . UnsubscribeGroups . Get ( ) . Result ;
136+ Console . WriteLine ( responseFinal . StatusCode ) ;
137+ Console . WriteLine ( responseFinal . Content . ReadAsStringAsync ( ) . Result ) ;
138+ Console . WriteLine ( "Unsubscribe Group Deleted, press any key to end" ) ;
139+ Console . ReadKey ( ) ;
140+ }
100141 }
101142}
0 commit comments