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.
103 lines
4.2 KiB
103 lines
4.2 KiB
using Common;
|
|
using Common.Helper;
|
|
using Common.Model.BalanceTransfer;
|
|
using log4net;
|
|
using Newtonsoft.Json;
|
|
using Repository.BalanceTransfer;
|
|
using System;
|
|
|
|
namespace Business.BalanceTransfer
|
|
{
|
|
public class BalanceTransferBusiness : IBalanceTransferBusiness
|
|
{
|
|
private readonly IBalanceTransferRepository _repo;
|
|
private static readonly ILog Log = LogManager.GetLogger(typeof(BalanceTransferBusiness));
|
|
public BalanceTransferBusiness(IBalanceTransferRepository repo)
|
|
{
|
|
_repo = repo;
|
|
}
|
|
|
|
public JsonRxResponse InitBalanceTransfer(InitBalanceTransfer initBalanceTransfer)
|
|
{
|
|
JsonRxResponse _jsonResp = new JsonRxResponse();
|
|
string plainText = "";
|
|
string encQRCodeData = "";
|
|
try
|
|
{
|
|
Log.DebugFormat("InitBalanceTransfer | Calling InitBalanceTransfer method.");
|
|
_jsonResp = _repo.InitBalanceTransfer(initBalanceTransfer);
|
|
if (_jsonResp.ErrorCode == "0")
|
|
{
|
|
Log.Debug("InitBalanceTransfer | Calling InitBalanceTransfer Success...");
|
|
plainText = initBalanceTransfer.userId + ":" + initBalanceTransfer.amount + ":" + Utilities.GetTimestamp(DateTime.Now) + ":" + _jsonResp.Id;
|
|
encQRCodeData = Utilities.EncryptString(plainText);
|
|
|
|
_jsonResp.Data = new
|
|
{
|
|
checksum = "",
|
|
reqData = encQRCodeData
|
|
};
|
|
return _jsonResp;
|
|
}
|
|
Log.Debug("InitBalanceTransfer | Calling InitBalanceTransfer Error with: "+JsonConvert.SerializeObject(_jsonResp));
|
|
return _jsonResp;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error("Something Went Wrong, Please Try Again!!", ex);
|
|
_jsonResp.SetResponse("1", "Could not complete the request.");
|
|
return _jsonResp;
|
|
}
|
|
}
|
|
|
|
public JsonRxResponse ConfirmBalanceTransfer(ConfirmBalanceTransfer confirmBalanceTransfer)
|
|
{
|
|
JsonRxResponse _jsonResp = new JsonRxResponse();
|
|
try
|
|
{
|
|
Log.DebugFormat("ConfirmBalanceTransfer | Calling ConfirmBalanceTransfer method.");
|
|
string[] plainText = Utilities.DecryptString(confirmBalanceTransfer.reqData).Split(':');
|
|
if (plainText.Length != 4)
|
|
{
|
|
Log.Debug("ConfirmBalanceTransfer | Invalid reqData: " + confirmBalanceTransfer.reqData);
|
|
return new JsonRxResponse { ErrorCode = "1", Msg = "Invalid request" };
|
|
}
|
|
confirmBalanceTransfer.requestUserId = plainText[0];
|
|
confirmBalanceTransfer.requestAmount = plainText[1];
|
|
confirmBalanceTransfer.requestId = plainText[3];
|
|
|
|
_jsonResp = _repo.ConfirmBalanceTransfer(confirmBalanceTransfer);
|
|
Log.Debug("ConfirmBalanceTransfer | Completed with response: " + JsonConvert.SerializeObject(_jsonResp));
|
|
|
|
return _jsonResp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error("Something Went Wrong, Please Try Again!!", ex);
|
|
_jsonResp.SetResponse("1", "Could not complete the request.");
|
|
return _jsonResp;
|
|
}
|
|
}
|
|
|
|
public JsonRxResponse PerformBalanceTransfer(PerformBalanceTransfer performBalanceTransfer)
|
|
{
|
|
JsonRxResponse _jsonResp = new JsonRxResponse();
|
|
try
|
|
{
|
|
Log.DebugFormat("PerformBalanceTransfer | Calling PerformBalanceTransfer method.");
|
|
_jsonResp = _repo.PerformBalanceTransfer(performBalanceTransfer);
|
|
Log.Debug("PerformBalanceTransfer | Completed with response: " + JsonConvert.SerializeObject(_jsonResp));
|
|
|
|
return _jsonResp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error("Something Went Wrong, Please Try Again!!", ex);
|
|
_jsonResp.SetResponse("1", "Could not complete the request.");
|
|
return _jsonResp;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|