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.

120 lines
5.5 KiB

  1. using Newtonsoft.Json;
  2. using JMETxnPushScheduler.Common;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Net.Http;
  6. using System.Text;
  7. namespace JMETxnPushScheduler.API
  8. {
  9. public class SendTransactionServices
  10. {
  11. public JsonResponse SendTransaction(SendTransactionRequest model)
  12. {
  13. //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model));
  14. using (var client = RestApiClient.CallJMEThirdParty())
  15. {
  16. JsonResponse jsonResponse = new JsonResponse();
  17. var obj = JsonConvert.SerializeObject(model);
  18. var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json");
  19. try
  20. {
  21. var URL = "api/v1/TP/sendTxn";
  22. HttpResponseMessage resp = client.PostAsync(URL, jbdContent).Result;
  23. string resultData = resp.Content.ReadAsStringAsync().Result;
  24. if (resp.IsSuccessStatusCode)
  25. {
  26. jsonResponse = JsonConvert.DeserializeObject<JsonResponse>(resultData);
  27. if (jsonResponse.ResponseCode.Equals("104"))
  28. {
  29. var datas = JsonConvert.DeserializeObject<List<Data>>(jsonResponse.Data.ToString());
  30. string msg = "";
  31. foreach (var item in datas)
  32. {
  33. msg += " " + item.Message;
  34. }
  35. jsonResponse.Msg += msg;
  36. }
  37. return jsonResponse;
  38. }
  39. else
  40. {
  41. var errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData);
  42. var jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(errorJson.Message);
  43. var data = JsonConvert.DeserializeObject<List<Data>>(jsonResponseData.Data.ToString());
  44. jsonResponse.Id = jsonResponseData.Id;
  45. jsonResponse.ResponseCode = jsonResponseData.ResponseCode;
  46. jsonResponse.Msg = jsonResponseData.Msg;
  47. jsonResponse.Data = data;
  48. jsonResponse.Extra = jsonResponseData.Extra;
  49. jsonResponse.Extra1 = jsonResponseData.Extra1;
  50. return jsonResponse;
  51. }
  52. }
  53. catch (Exception ex)
  54. {
  55. return new JsonResponse()
  56. {
  57. ResponseCode = "1",
  58. Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message)
  59. };
  60. }
  61. }
  62. }
  63. public JsonResponse ReleaseTransaction(TFReleaseTxnRequest model)
  64. {
  65. //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model));
  66. using (var client = RestApiClient.CallJMEThirdParty())
  67. {
  68. JsonResponse jsonResponse = new JsonResponse();
  69. var obj = JsonConvert.SerializeObject(model);
  70. var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json");
  71. try
  72. {
  73. var URL = "api/v1/TP/releaseTxn";
  74. HttpResponseMessage resp = client.PostAsync(URL, jbdContent).Result;
  75. string resultData = resp.Content.ReadAsStringAsync().Result;
  76. if (resp.IsSuccessStatusCode)
  77. {
  78. jsonResponse = JsonConvert.DeserializeObject<JsonResponse>(resultData);
  79. if (jsonResponse.ResponseCode.Equals("104"))
  80. {
  81. var datas = JsonConvert.DeserializeObject<List<Data>>(jsonResponse.Data.ToString());
  82. string msg = "";
  83. foreach (var item in datas)
  84. {
  85. msg += " " + item.Message;
  86. }
  87. jsonResponse.Msg += msg;
  88. }
  89. return jsonResponse;
  90. }
  91. else
  92. {
  93. var errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData);
  94. var jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(errorJson.Message);
  95. var data = JsonConvert.DeserializeObject<List<Data>>(jsonResponseData.Data.ToString());
  96. jsonResponse.Id = jsonResponseData.Id;
  97. jsonResponse.ResponseCode = jsonResponseData.ResponseCode;
  98. jsonResponse.Msg = jsonResponseData.Msg;
  99. jsonResponse.Data = data;
  100. jsonResponse.Extra = jsonResponseData.Extra;
  101. jsonResponse.Extra1 = jsonResponseData.Extra1;
  102. return jsonResponse;
  103. }
  104. }
  105. catch (Exception ex)
  106. {
  107. return new JsonResponse()
  108. {
  109. ResponseCode = "1",
  110. Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message)
  111. };
  112. }
  113. }
  114. }
  115. }
  116. }