/CampaignMonitorAPIWrapper/CampaignMonitorAPIWrapper/Client.cs

https://github.com/kamaldeep/net-api-wrapper-with-source · C# · 133 lines · 103 code · 30 blank · 0 comment · 10 complexity · ceb44765559362b2f8e586e6970825d1 MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace CampaignMonitorAPIWrapper
  5. {
  6. public class Client
  7. {
  8. public static Result<string> Create(string apiKey, string companyName, string contactName, string emailAddress, string country, string timezone)
  9. {
  10. CampaignMonitorAPIWrapper.CampaignMonitorAPI.api _api = new CampaignMonitorAPI.api();
  11. object o = _api.CreateClient(apiKey, companyName, contactName, emailAddress, country, timezone);
  12. if (o is CampaignMonitorAPI.Result)
  13. return new Result<string>((CampaignMonitorAPI.Result)o, "");
  14. else
  15. return new Result<string>(0, "Success", Convert.ToString(o));
  16. }
  17. public static Result<string> UpdateBasics(string apiKey, string clientID, string companyName, string contactName, string emailAddress, string country, string timezone)
  18. {
  19. CampaignMonitorAPIWrapper.CampaignMonitorAPI.api _api = new CampaignMonitorAPI.api();
  20. object o = _api.UpdateClientBasics(apiKey, clientID, companyName, contactName, emailAddress, country, timezone);
  21. if (o is CampaignMonitorAPI.Result)
  22. return new Result<string>((CampaignMonitorAPI.Result)o, "");
  23. else
  24. return new Result<string>(0, "Success", Convert.ToString(o));
  25. }
  26. public static Result<string> UpdateAccessAndBilling(string apiKey, string clientID, int accessLevel, string username, string password, string billingType, string currency, string deliveryFee, string costPerRecipient, string designAndSpamTestFee)
  27. {
  28. CampaignMonitorAPIWrapper.CampaignMonitorAPI.api _api = new CampaignMonitorAPI.api();
  29. object o = _api.UpdateClientAccessAndBilling(apiKey, clientID, accessLevel, username, password, billingType, currency, deliveryFee, costPerRecipient, designAndSpamTestFee);
  30. if (o is CampaignMonitorAPI.Result)
  31. return new Result<string>((CampaignMonitorAPI.Result)o, "");
  32. else
  33. return new Result<string>(0, "Success", Convert.ToString(o));
  34. }
  35. public static Result<CampaignMonitorAPI.ClientDetail> GetDetail(string apiKey, string clientID)
  36. {
  37. CampaignMonitorAPIWrapper.CampaignMonitorAPI.api _api = new CampaignMonitorAPI.api();
  38. object o = _api.GetClientDetail(apiKey, clientID);
  39. if (o is CampaignMonitorAPI.Result)
  40. return new Result<CampaignMonitorAPI.ClientDetail>((CampaignMonitorAPI.Result)o, null);
  41. else
  42. return new Result<CampaignMonitorAPI.ClientDetail>(0, "Success", (CampaignMonitorAPI.ClientDetail)o);
  43. }
  44. public static Result<string> Delete(string apiKey, string clientID)
  45. {
  46. CampaignMonitorAPIWrapper.CampaignMonitorAPI.api _api = new CampaignMonitorAPI.api();
  47. object o = _api.DeleteClient(apiKey, clientID);
  48. if (o is CampaignMonitorAPI.Result)
  49. return new Result<string>((CampaignMonitorAPI.Result)o, "");
  50. else
  51. return new Result<string>(0, "Success", Convert.ToString(o));
  52. }
  53. public static Result<List<CampaignMonitorAPI.Campaign>> GetCampaigns(string apiKey, string clientID)
  54. {
  55. CampaignMonitorAPIWrapper.CampaignMonitorAPI.api _api = new CampaignMonitorAPI.api();
  56. object o = _api.GetClientCampaigns(apiKey, clientID);
  57. if (o is CampaignMonitorAPI.Result)
  58. return new Result<List<CampaignMonitorAPI.Campaign>>((CampaignMonitorAPI.Result)o, null);
  59. else
  60. return new Result<List<CampaignMonitorAPI.Campaign>>(0, "Success", new List<CampaignMonitorAPI.Campaign>((IEnumerable<CampaignMonitorAPI.Campaign>)o));
  61. }
  62. public static Result<List<CampaignMonitorAPI.List>> GetLists(string apiKey, string clientID)
  63. {
  64. CampaignMonitorAPIWrapper.CampaignMonitorAPI.api _api = new CampaignMonitorAPI.api();
  65. object o = _api.GetClientLists(apiKey, clientID);
  66. if (o is CampaignMonitorAPI.Result)
  67. return new Result<List<CampaignMonitorAPI.List>>((CampaignMonitorAPI.Result)o, null);
  68. else
  69. return new Result<List<CampaignMonitorAPI.List>>(0, "Success", new List<CampaignMonitorAPI.List>((IEnumerable<CampaignMonitorAPI.List>)o));
  70. }
  71. public static Result<List<ListSegment>> GetSegments(string apiKey, string clientID)
  72. {
  73. CampaignMonitorAPIWrapper.CampaignMonitorAPI.api _api = new CampaignMonitorAPI.api();
  74. object o = _api.GetClientSegments(apiKey, clientID);
  75. if (o is CampaignMonitorAPI.Result)
  76. return new Result<List<ListSegment>>((CampaignMonitorAPI.Result)o, null);
  77. else
  78. return new Result<List<ListSegment>>(0, "Success", new List<CampaignMonitorAPI.List>((IEnumerable<CampaignMonitorAPI.List>)o).ConvertAll<ListSegment>(
  79. delegate(CampaignMonitorAPI.List apiSegment)
  80. {
  81. return new ListSegment(apiSegment.ListID, apiSegment.Name);
  82. }));
  83. }
  84. public static Result<List<CampaignMonitorAPI.Subscriber>> GetSuppressionList(string apiKey, string clientID)
  85. {
  86. CampaignMonitorAPIWrapper.CampaignMonitorAPI.api _api = new CampaignMonitorAPI.api();
  87. object o = _api.GetClientSuppressionList(apiKey, clientID);
  88. if (o is CampaignMonitorAPI.Result)
  89. return new Result<List<CampaignMonitorAPI.Subscriber>>((CampaignMonitorAPI.Result)o, null);
  90. else
  91. return new Result<List<CampaignMonitorAPI.Subscriber>>(0, "Success", new List<CampaignMonitorAPI.Subscriber>((IEnumerable<CampaignMonitorAPI.Subscriber>)o));
  92. }
  93. public static Result<List<CampaignMonitorAPI.Template>> GetTemplates(string apiKey, string clientID)
  94. {
  95. CampaignMonitorAPI.api api = new CampaignMonitorAPI.api();
  96. object o = api.GetClientTemplates(apiKey, clientID);
  97. if (o is CampaignMonitorAPI.Result)
  98. return new Result<List<CampaignMonitorAPI.Template>>((CampaignMonitorAPI.Result)o, null);
  99. else
  100. return new Result<List<CampaignMonitorAPI.Template>>(0, "Success", new List<CampaignMonitorAPI.Template>((IEnumerable<CampaignMonitorAPI.Template>)o));
  101. }
  102. }
  103. }