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.
 
 

75 lines
2.7 KiB

using BatchProcessor.Common.CommonAPIRequest;
using GMEStatusSync.Common;
using Newtonsoft.Json;
using System;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Text;
namespace GMEStatusSync.Helper
{
public static class ThirdPartyApi
{
public static string GetStatus(GMECoreAPIRequest model)
{
using (var client = RestClient.GetThirdPartyClient())
{
var obj = JsonConvert.SerializeObject(model);
var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json");
try
{
HttpResponseMessage resp = client.PostAsync("/api/GetAPIStatus", jbdContent).Result;
if (resp.IsSuccessStatusCode)
{
string resultData = resp.Content.ReadAsStringAsync().Result;
return resultData;
}
return null;
}
catch (Exception ex)
{
return null;
}
}
}
public static CommonTransactionResponse GetStatus_API(CommonTransactionRequest req)
{
CommonTransactionResponse _dbResult = new CommonTransactionResponse();
try
{
HttpWebRequest _httpRequest = (HttpWebRequest)WebRequest.Create(req.BaseUrl + "/checkStatus/" + req.ControlNo);
_httpRequest.ContentType = "application/json";
_httpRequest.Method = "POST";
_httpRequest.Headers.Add("Authorization", req.Authorization);
req.BaseUrl = "";
req.Authorization = "";
req.ProcessId = req.ControlNo;
using (var _streamWriter = new StreamWriter(_httpRequest.GetRequestStream()))
{
string _request = JsonConvert.SerializeObject(req);
_streamWriter.Write(_request);
_streamWriter.Flush();
_streamWriter.Close();
}
var _httpResponse = (HttpWebResponse)_httpRequest.GetResponse();
using (var _streamReader = new StreamReader(_httpResponse.GetResponseStream()))
{
var res = _streamReader.ReadToEnd();
_dbResult = JsonConvert.DeserializeObject<CommonTransactionResponse>(res);
}
_httpResponse.Close();
}
catch (Exception e)
{
_dbResult.Status = "1";
_dbResult.Status = "Fail";
_dbResult.Message = e.Message.ToString();
}
return _dbResult;
}
}
}