You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.7 KiB

  1. //using log4net;
  2. using Newtonsoft.Json;
  3. using Swift.API.Common;
  4. using Swift.API.Common.Enum;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Net.Http;
  8. using System.Text;
  9. namespace Swift.API.TPAPIs
  10. {
  11. public static class NotifierV2
  12. {
  13. // private static readonly ILog Log = LogManager.GetLogger(typeof(NotifierV2));
  14. public static JsonResponse SendNotification(SendNotificationRequestMobile request, NOTIFICATION_TYPE nOTIFICATION_TYPE = NOTIFICATION_TYPE.PUSH_NOTIFICATION)
  15. {
  16. using (var client = RestApiClient.CallJMEThirdParty())
  17. {
  18. JsonResponse jsonResponse = new JsonResponse();
  19. var obj = JsonConvert.SerializeObject(request);
  20. var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json");
  21. try
  22. {
  23. var URL = "api/v1/TP/NotificationAPI";
  24. HttpResponseMessage resp = client.PostAsync(URL, jbdContent).Result;
  25. string resultData = resp.Content.ReadAsStringAsync().Result;
  26. if (resp.IsSuccessStatusCode)
  27. {
  28. jsonResponse = JsonConvert.DeserializeObject<JsonResponse>(resultData);
  29. var a = (jsonResponse.Data != null ? JsonConvert.DeserializeObject<JsonResponse>(jsonResponse.Data.ToString()) : null);
  30. jsonResponse.Data = a;
  31. return jsonResponse;
  32. }
  33. else
  34. {
  35. var errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData);
  36. var jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(errorJson.Message);
  37. var data = JsonConvert.DeserializeObject<List<Data>>(jsonResponseData.Data.ToString());
  38. jsonResponse.Id = jsonResponseData.Id;
  39. jsonResponse.ResponseCode = jsonResponseData.ResponseCode;
  40. jsonResponse.Msg = jsonResponseData.Msg;
  41. jsonResponse.Data = data;
  42. jsonResponse.Extra = jsonResponseData.Extra;
  43. jsonResponse.Extra1 = jsonResponseData.Extra1;
  44. return jsonResponse;
  45. }
  46. }
  47. catch (Exception ex)
  48. {
  49. return new JsonResponse()
  50. {
  51. ResponseCode = "1",
  52. Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message)
  53. };
  54. }
  55. }
  56. }
  57. }
  58. }