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.

244 lines
9.1 KiB

  1. //using log4net;
  2. using Newtonsoft.Json;
  3. using Newtonsoft.Json.Linq;
  4. using Swift.API.Common;
  5. using Swift.API.Common.Enum;
  6. using Swift.API.Common.TrustDoc;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.IO;
  10. using System.Net;
  11. using System.Net.Http;
  12. using System.Security.Cryptography.X509Certificates;
  13. using System.Text;
  14. namespace Swift.API.TPAPIs
  15. {
  16. public class TrustdocAPI
  17. {
  18. public string TrustDocURL { get; set; }
  19. public string TrustDocDataURL { get; set; }
  20. public string Token { get; set; }
  21. public string TrustCertPath { get; set; }
  22. public string TrustCertKey { get; set; }
  23. public TrustdocAPI()
  24. {
  25. TrustDocURL = TPGetStatic.ReadWebConfig("TrustDocURL", "");
  26. TrustDocDataURL = TPGetStatic.ReadWebConfig("TrustDocDataURL", "");
  27. Token = TPGetStatic.ReadWebConfig("TrustToken", "");
  28. TrustCertPath = TPGetStatic.ReadWebConfig("TrustCertPath", "");
  29. TrustCertKey = TPGetStatic.ReadWebConfig("TrustCertKey", "");
  30. }
  31. // private static readonly ILog Log = LogManager.GetLogger(typeof(NotifierV2));
  32. public JsonResponse CompareData(TrustDocRequest request, string id, string user, string customerId)
  33. {
  34. DbResult _dbResult = new DbResult();
  35. JsonResponse jsonResponse = new JsonResponse();
  36. try
  37. {
  38. HttpClient client = new HttpClient();
  39. var bodyData = JsonConvert.SerializeObject(request);
  40. _dbResult = Utility.LogRequest(user, "TrustDoc", "comparing_data", customerId, bodyData, id);
  41. client.DefaultRequestHeaders.Add("Authorization", $"Bearer {Token}");
  42. var jbdContent = new StringContent(bodyData, Encoding.UTF8, "application/json");
  43. var URL = TrustDocURL + "verifications/" + id + "/comparing_data";
  44. System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(0xc0 | 0x300 | 0xc00);
  45. System.Net.ServicePointManager.ServerCertificateValidationCallback =
  46. ((sender, certificate, chain, sslPolicyErrors) => true);
  47. var resp = client.PutAsync(URL, jbdContent).Result;
  48. string resultData = resp.Content.ReadAsStringAsync().Result;
  49. Utility.LogResponse(_dbResult.Id, resultData, ((int)resp.StatusCode).ToString(), _dbResult.Extra2);
  50. if (resp.IsSuccessStatusCode)
  51. {
  52. jsonResponse.ResponseCode = "0";
  53. jsonResponse.Msg = "Success";
  54. jsonResponse.Data = resp;
  55. }
  56. else
  57. {
  58. ErrorJosn errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData);
  59. //JsonResponse jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(errorJson.Message);
  60. jsonResponse.ResponseCode = "1";
  61. jsonResponse.Msg = errorJson.Message;
  62. jsonResponse.Data = errorJson;
  63. }
  64. return jsonResponse;
  65. }
  66. catch (Exception ex)
  67. {
  68. var e = new JsonResponse()
  69. {
  70. ResponseCode = "1",
  71. Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message)
  72. };
  73. Utility.LogResponse(_dbResult.Id, _dbResult.Extra2, "999", JsonConvert.SerializeObject(e));
  74. return e;
  75. }
  76. }
  77. public JsonResponse VerificationStatus(string id, string user, string customerId)
  78. {
  79. DbResult _dbResult = new DbResult();
  80. VerificationStatusResponse _responseModel = new VerificationStatusResponse();
  81. JsonResponse jsonResponse = new JsonResponse();
  82. try
  83. {
  84. HttpClient client = new HttpClient();
  85. client.DefaultRequestHeaders.Add("Authorization", $"Bearer {Token}");
  86. var URL = TrustDocURL + "verifications/" + id;
  87. _dbResult = Utility.LogRequest(user, "TrustDoc", "verificationStatus", customerId, URL, id);
  88. System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(0xc0 | 0x300 | 0xc00);
  89. System.Net.ServicePointManager.ServerCertificateValidationCallback =
  90. ((sender, certificate, chain, sslPolicyErrors) => true);
  91. var resp = client.GetAsync(URL).Result;
  92. string resultData = resp.Content.ReadAsStringAsync().Result;
  93. Utility.LogResponse(_dbResult.Id, resultData, ((int)resp.StatusCode).ToString(), _dbResult.Extra2);
  94. if (resp.IsSuccessStatusCode)
  95. {
  96. //JObject a = JObject.Parse(result);
  97. //_responseModel = a.ToObject<VerificationStatusResponse>();
  98. var settings = new JsonSerializerSettings
  99. {
  100. NullValueHandling = NullValueHandling.Ignore,
  101. MissingMemberHandling = MissingMemberHandling.Ignore
  102. };
  103. _responseModel = JsonConvert.DeserializeObject<VerificationStatusResponse>(resultData, settings);
  104. jsonResponse.ResponseCode = "0";
  105. jsonResponse.Msg = "Success";
  106. jsonResponse.Data = _responseModel;
  107. }
  108. else
  109. {
  110. ErrorJosn errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData);
  111. //JsonResponse jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(errorJson.Message);
  112. jsonResponse.ResponseCode = "1";
  113. jsonResponse.Msg = errorJson.Message;
  114. jsonResponse.Data = errorJson;
  115. }
  116. return jsonResponse;
  117. }
  118. catch (Exception ex)
  119. {
  120. var e = new JsonResponse()
  121. {
  122. ResponseCode = "1",
  123. Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message)
  124. };
  125. Utility.LogResponse(_dbResult.Id, _dbResult.Extra2, "999", JsonConvert.SerializeObject(e));
  126. return e;
  127. }
  128. }
  129. public JsonResponse DeleteTrustDoc(string id, string user, string customerId)
  130. {
  131. DbResult _dbResult = new DbResult();
  132. VerificationStatusResponse _responseModel = new VerificationStatusResponse();
  133. JsonResponse jsonResponse = new JsonResponse();
  134. try
  135. {
  136. HttpClient client = new HttpClient();
  137. client.DefaultRequestHeaders.Add("Authorization", $"Bearer {Token}");
  138. var URL = TrustDocURL + "verifications/" + id;
  139. _dbResult = Utility.LogRequest(user, "TrustDoc", "DeleteTrustDoc", customerId, URL, id);
  140. System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(0xc0 | 0x300 | 0xc00);
  141. System.Net.ServicePointManager.ServerCertificateValidationCallback =
  142. ((sender, certificate, chain, sslPolicyErrors) => true);
  143. var resp = client.DeleteAsync(URL).Result;
  144. string resultData = resp.Content.ReadAsStringAsync().Result;
  145. Utility.LogResponse(_dbResult.Id, resultData, ((int)resp.StatusCode).ToString(), _dbResult.Extra2);
  146. if (resp.IsSuccessStatusCode)
  147. {
  148. //JObject a = JObject.Parse(result);
  149. //_responseModel = a.ToObject<VerificationStatusResponse>();
  150. var settings = new JsonSerializerSettings
  151. {
  152. NullValueHandling = NullValueHandling.Ignore,
  153. MissingMemberHandling = MissingMemberHandling.Ignore
  154. };
  155. _responseModel = JsonConvert.DeserializeObject<VerificationStatusResponse>(resultData, settings);
  156. jsonResponse.ResponseCode = "0";
  157. jsonResponse.Msg = "Success";
  158. jsonResponse.Data = _responseModel;
  159. }
  160. else
  161. {
  162. ErrorJosn errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData);
  163. //JsonResponse jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(errorJson.Message);
  164. jsonResponse.ResponseCode = "1";
  165. jsonResponse.Msg = errorJson.Message;
  166. jsonResponse.Data = errorJson;
  167. }
  168. return jsonResponse;
  169. }
  170. catch (Exception ex)
  171. {
  172. var e = new JsonResponse()
  173. {
  174. ResponseCode = "1",
  175. Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message)
  176. };
  177. Utility.LogResponse(_dbResult.Id, _dbResult.Extra2, "999", JsonConvert.SerializeObject(e));
  178. return e;
  179. }
  180. }
  181. }
  182. }