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.
 
 
 

116 lines
4.5 KiB

using Business.SendMoney;
using Common;
using Common.Model;
using Common.Model.External;
using JsonRx.AuthFilter;
using log4net;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace JsonRx.Api
{
[RoutePrefix("api/v4")]
public class ExternalController : ApiController
{
private readonly ISendMoneyBusiness _bussiness;
private static string AccessCode = "";
private static readonly ILog Log = LogManager.GetLogger(typeof(ExternalController));
[HttpPost]
//[ApplicationLevelAuthentication]
[Route("External/AdditionalInformationCallbackv1")]
public IHttpActionResult AdditionalInformationCallback(BracBankStatusCallbackParam param)
{
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = param.UserName;
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "AdditionalInformationCallback";
Log.Debug("TransactionStatusCallback | REQUEST : " + JsonConvert.SerializeObject(param));
CallbackTpResponse res = new CallbackTpResponse();
//JsonRxResponse res = new JsonRxResponse();
if (param == null)
{
param = new BracBankStatusCallbackParam();
}
if (string.IsNullOrEmpty(param.TTReferenceNo))
{
res.StatusCode = "0";
res.MessageType = "Control No is missing.";
// res.StatusDescription
return Ok(res);
}
var resp = _bussiness.TransactionStatusCallback(param);
return Ok(resp);
}
[HttpPost]
[ApplicationLevelAuthentication]
[Route("External/transactionStatusCallbackv1")]
public IHttpActionResult TransactionStatusCallback(BracBankStatusCallbackParam param)
{
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
LogicalThreadContext.Properties[LoggerProperty.CREATEDBY] = param.UserName;
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "TransactionStatusCallback";
Log.Debug("TransactionStatusCallback | REQUEST : " + JsonConvert.SerializeObject(param));
CallbackTpResponse res = new CallbackTpResponse();
//JsonRxResponse res = new JsonRxResponse();
if (param == null)
{
param = new BracBankStatusCallbackParam();
}
if (string.IsNullOrEmpty(param.TTReferenceNo))
{
res.StatusCode = "0";
res.MessageType = "Control No is missing.";
// res.StatusDescription
return Ok(res);
}
var resp = _bussiness.TransactionStatusCallback(param);
return Ok(resp);
}
[HttpPost]
//[ApplicationLevelAuthentication]
[Route("External/AdditionalInformationCallback")]
public HttpResponseMessage AdditionalInformationCallback(string param)
{
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "TransactionStatusCallback";
Log.Debug("AdditionalInformationCallback | REQUEST : " + JsonConvert.SerializeObject(param));
string result = "Hello world! Time is: " + DateTime.Now;
var resp = new HttpResponseMessage(HttpStatusCode.OK);
resp.Content = new StringContent(result, System.Text.Encoding.UTF8, "text/plain");
return resp;
}
[HttpPost]
//[ApplicationLevelAuthentication]
[Route("External/transactionStatusCallback")]
public HttpResponseMessage TransactionStatusCallback(string param)
{
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "TransactionStatusCallback";
Log.Debug("TransactionStatusCallback | REQUEST : " + JsonConvert.SerializeObject(param));
string result = "Hello world! Time is: " + DateTime.Now;
var resp = new HttpResponseMessage(HttpStatusCode.OK);
resp.Content = new StringContent(result, System.Text.Encoding.UTF8, "text/plain");
return resp;
}
}
}