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

//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;
}
}
}
}