//using log4net; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Swift.API.Common; using Swift.API.Common.Enum; using Swift.API.Common.TrustDoc; using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Net.Http; using System.Security.Cryptography.X509Certificates; using System.Text; namespace Swift.API.TPAPIs { public class TrustdocAPI { public string TrustDocURL { get; set; } public string TrustDocDataURL { get; set; } public string Token { get; set; } public string TrustCertPath { get; set; } public string TrustCertKey { get; set; } public TrustdocAPI() { TrustDocURL = TPGetStatic.ReadWebConfig("TrustDocURL", ""); TrustDocDataURL = TPGetStatic.ReadWebConfig("TrustDocDataURL", ""); Token = TPGetStatic.ReadWebConfig("TrustToken", ""); TrustCertPath = TPGetStatic.ReadWebConfig("TrustCertPath", ""); TrustCertKey = TPGetStatic.ReadWebConfig("TrustCertKey", ""); } // private static readonly ILog Log = LogManager.GetLogger(typeof(NotifierV2)); public JsonResponse CompareData(TrustDocRequest request, string id, string user, string customerId) { DbResult _dbResult = new DbResult(); JsonResponse jsonResponse = new JsonResponse(); try { HttpClient client = new HttpClient(); var bodyData = JsonConvert.SerializeObject(request); _dbResult = Utility.LogRequest(user, "TrustDoc", "comparing_data", customerId, bodyData, id); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {Token}"); var jbdContent = new StringContent(bodyData, Encoding.UTF8, "application/json"); var URL = TrustDocURL + "verifications/" + id + "/comparing_data"; System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(0xc0 | 0x300 | 0xc00); System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true); var resp = client.PutAsync(URL, jbdContent).Result; string resultData = resp.Content.ReadAsStringAsync().Result; Utility.LogResponse(_dbResult.Id, resultData, ((int)resp.StatusCode).ToString(), _dbResult.Extra2); if (resp.IsSuccessStatusCode) { jsonResponse.ResponseCode = "0"; jsonResponse.Msg = "Success"; jsonResponse.Data = resp; } else { ErrorJosn errorJson = JsonConvert.DeserializeObject(resultData); //JsonResponse jsonResponseData = JsonConvert.DeserializeObject(errorJson.Message); jsonResponse.ResponseCode = "1"; jsonResponse.Msg = errorJson.Message; jsonResponse.Data = errorJson; } return jsonResponse; } catch (Exception ex) { var e = new JsonResponse() { ResponseCode = "1", Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message) }; Utility.LogResponse(_dbResult.Id, _dbResult.Extra2, "999", JsonConvert.SerializeObject(e)); return e; } } public JsonResponse VerificationStatus(string id, string user, string customerId) { DbResult _dbResult = new DbResult(); VerificationStatusResponse _responseModel = new VerificationStatusResponse(); JsonResponse jsonResponse = new JsonResponse(); try { HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {Token}"); var URL = TrustDocURL + "verifications/" + id; _dbResult = Utility.LogRequest(user, "TrustDoc", "verificationStatus", customerId, URL, id); System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(0xc0 | 0x300 | 0xc00); System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true); var resp = client.GetAsync(URL).Result; string resultData = resp.Content.ReadAsStringAsync().Result; Utility.LogResponse(_dbResult.Id, resultData, ((int)resp.StatusCode).ToString(), _dbResult.Extra2); if (resp.IsSuccessStatusCode) { //JObject a = JObject.Parse(result); //_responseModel = a.ToObject(); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; _responseModel = JsonConvert.DeserializeObject(resultData, settings); jsonResponse.ResponseCode = "0"; jsonResponse.Msg = "Success"; jsonResponse.Data = _responseModel; } else { ErrorJosn errorJson = JsonConvert.DeserializeObject(resultData); //JsonResponse jsonResponseData = JsonConvert.DeserializeObject(errorJson.Message); jsonResponse.ResponseCode = "1"; jsonResponse.Msg = errorJson.Message; jsonResponse.Data = errorJson; } return jsonResponse; } catch (Exception ex) { var e = new JsonResponse() { ResponseCode = "1", Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message) }; Utility.LogResponse(_dbResult.Id, _dbResult.Extra2, "999", JsonConvert.SerializeObject(e)); return e; } } public JsonResponse DeleteTrustDoc(string id, string user, string customerId) { DbResult _dbResult = new DbResult(); VerificationStatusResponse _responseModel = new VerificationStatusResponse(); JsonResponse jsonResponse = new JsonResponse(); try { HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {Token}"); var URL = TrustDocURL + "verifications/" + id; _dbResult = Utility.LogRequest(user, "TrustDoc", "DeleteTrustDoc", customerId, URL, id); System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(0xc0 | 0x300 | 0xc00); System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true); var resp = client.DeleteAsync(URL).Result; string resultData = resp.Content.ReadAsStringAsync().Result; Utility.LogResponse(_dbResult.Id, resultData, ((int)resp.StatusCode).ToString(), _dbResult.Extra2); if (resp.IsSuccessStatusCode) { //JObject a = JObject.Parse(result); //_responseModel = a.ToObject(); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; _responseModel = JsonConvert.DeserializeObject(resultData, settings); jsonResponse.ResponseCode = "0"; jsonResponse.Msg = "Success"; jsonResponse.Data = _responseModel; } else { ErrorJosn errorJson = JsonConvert.DeserializeObject(resultData); //JsonResponse jsonResponseData = JsonConvert.DeserializeObject(errorJson.Message); jsonResponse.ResponseCode = "1"; jsonResponse.Msg = errorJson.Message; jsonResponse.Data = errorJson; } return jsonResponse; } catch (Exception ex) { var e = new JsonResponse() { ResponseCode = "1", Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message) }; Utility.LogResponse(_dbResult.Id, _dbResult.Extra2, "999", JsonConvert.SerializeObject(e)); return e; } } } }