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
244 lines
9.1 KiB
//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<ErrorJosn>(resultData);
|
|
//JsonResponse jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(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<VerificationStatusResponse>();
|
|
|
|
var settings = new JsonSerializerSettings
|
|
{
|
|
NullValueHandling = NullValueHandling.Ignore,
|
|
MissingMemberHandling = MissingMemberHandling.Ignore
|
|
};
|
|
_responseModel = JsonConvert.DeserializeObject<VerificationStatusResponse>(resultData, settings);
|
|
jsonResponse.ResponseCode = "0";
|
|
jsonResponse.Msg = "Success";
|
|
jsonResponse.Data = _responseModel;
|
|
|
|
}
|
|
else
|
|
{
|
|
ErrorJosn errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData);
|
|
//JsonResponse jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(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<VerificationStatusResponse>();
|
|
|
|
var settings = new JsonSerializerSettings
|
|
{
|
|
NullValueHandling = NullValueHandling.Ignore,
|
|
MissingMemberHandling = MissingMemberHandling.Ignore
|
|
};
|
|
_responseModel = JsonConvert.DeserializeObject<VerificationStatusResponse>(resultData, settings);
|
|
jsonResponse.ResponseCode = "0";
|
|
jsonResponse.Msg = "Success";
|
|
jsonResponse.Data = _responseModel;
|
|
|
|
}
|
|
else
|
|
{
|
|
ErrorJosn errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData);
|
|
//JsonResponse jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(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;
|
|
}
|
|
}
|
|
}
|
|
}
|