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.
261 lines
10 KiB
261 lines
10 KiB
using Business.TPApi;
|
|
using Common;
|
|
using Common.Helper;
|
|
using Common.Model.Remit;
|
|
using log4net;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
|
|
namespace Business.Remit
|
|
{
|
|
public class RemitBusiness : IRemitBusiness
|
|
{
|
|
private readonly ThirdPartyAPI _tpApi = new ThirdPartyAPI();
|
|
private static readonly ILog Log = LogManager.GetLogger(typeof(RemitBusiness));
|
|
|
|
public RemitBusiness() { }
|
|
|
|
public JsonRxResponse SearchTxnByControlNumber(SearchTxnModel searchTxn)
|
|
{
|
|
APIJsonResponse _apiJsonResponse = new APIJsonResponse();
|
|
JsonRxResponse _jsonResp = new JsonRxResponse();
|
|
try
|
|
{
|
|
Log.DebugFormat("SearchTxnByControlNumber | Calling SearchTxnByControlNumber method.");
|
|
|
|
SearchTxnThirdparty _searchTxn = new SearchTxnThirdparty
|
|
{
|
|
PBranch = GetStatic.ReadWebConfig("sBranch", ""),
|
|
ControlNo = searchTxn.controlNumber,
|
|
ProcessId = searchTxn.ProcessId,
|
|
RequestFrom = "mobile",
|
|
SessionId = searchTxn.ProcessId,
|
|
UserName = searchTxn.userID
|
|
};
|
|
APIJsonResponse _result = new APIJsonResponse();
|
|
|
|
//uncoment after creating the lo0gic in TP API
|
|
_result = _tpApi.ThirdPartyApiGetDataOnly<SearchTxnThirdparty, APIJsonResponse>(_searchTxn, "TP/payTxnCheck", out _apiJsonResponse);
|
|
|
|
//for now putting hardcode value by creating a dummy method
|
|
//_result = GetResponseDummyData(searchTxn);
|
|
|
|
Log.Debug("SearchTxnByControlNumber | Calling SearchTxnByControlNumber with response..." + JsonConvert.SerializeObject(_result));
|
|
|
|
return _jsonResp = new JsonRxResponse()
|
|
{
|
|
ErrorCode = _result.ResponseCode,
|
|
Id = _result.Id,
|
|
Msg = _result.Msg,
|
|
Data = _result.Data,
|
|
Extra = _result.Extra,
|
|
Extra2 = _result.Extra1
|
|
};
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error("Something Went Wrong, Please Try Again!!", ex);
|
|
_jsonResp.SetResponse("1", "Could not complete the request.");
|
|
return _jsonResp;
|
|
}
|
|
}
|
|
|
|
public JsonRxResponse RedeemCashPayment(ConfirmTxnModel redeemTxn)
|
|
{
|
|
APIJsonResponse _apiJsonResponse = new APIJsonResponse();
|
|
JsonRxResponse _jsonResp = new JsonRxResponse();
|
|
try
|
|
{
|
|
Log.DebugFormat("RedeemCashPayment | Calling RedeemCashPayment method.");
|
|
|
|
ConfirmTxnThirdParty _confirmTxn = new ConfirmTxnThirdParty
|
|
{
|
|
PBranch = GetStatic.ReadWebConfig("sBranch", ""),
|
|
ControlNo = redeemTxn.controlNumber,
|
|
ProcessId = redeemTxn.ProcessId,
|
|
RequestFrom = "mobile",
|
|
SessionId = redeemTxn.ProcessId,
|
|
UserName = redeemTxn.userID,
|
|
txnId = redeemTxn.txnId,
|
|
password = redeemTxn.password
|
|
};
|
|
|
|
APIJsonResponse _result = new APIJsonResponse();
|
|
//uncoment after creating the lo0gic in TP API
|
|
_result = _tpApi.ThirdPartyApiGetDataOnly<ConfirmTxnThirdParty, APIJsonResponse>(_confirmTxn, "TP/payTxnConfirm", out _apiJsonResponse);
|
|
|
|
Log.Debug("RedeemCashPayment | Calling RedeemCashPayment with response..." + JsonConvert.SerializeObject(_result));
|
|
|
|
//for now returning harcode success value
|
|
return _jsonResp = new JsonRxResponse()
|
|
{
|
|
ErrorCode = _result.ResponseCode,
|
|
Msg = _result.Msg,
|
|
};
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error("Something Went Wrong, Please Try Again!!", ex);
|
|
_jsonResp.SetResponse("1", "Could not complete the request.");
|
|
return _jsonResp;
|
|
}
|
|
}
|
|
|
|
public JsonRxResponse WithdrawWalletRequest(WithdrawWalletRequestModel withdrawWalletRequest)
|
|
{
|
|
APIJsonResponse _apiJsonResponse = new APIJsonResponse();
|
|
JsonRxResponse _jsonResp = new JsonRxResponse();
|
|
try
|
|
{
|
|
Log.DebugFormat("WithdrawWalletRequest | Calling WithdrawWalletRequest method.");
|
|
|
|
APIJsonResponse _result = new APIJsonResponse();
|
|
withdrawWalletRequest.UserName = withdrawWalletRequest.userID;
|
|
|
|
_result = _tpApi.ThirdPartyApiGetDataOnly<WithdrawWalletRequestModel, APIJsonResponse>(withdrawWalletRequest, "TP/withdrawWalletRequest", out _apiJsonResponse);
|
|
|
|
Log.Debug("WithdrawWalletRequest | Calling WithdrawWalletRequest with response..." + JsonConvert.SerializeObject(_result));
|
|
|
|
//for now returning harcode success value
|
|
return _jsonResp = new JsonRxResponse()
|
|
{
|
|
ErrorCode = _result.ResponseCode,
|
|
Id = _result.Id,
|
|
Msg = _result.Msg,
|
|
Data = _result.Data,
|
|
Extra = _result.Extra,
|
|
Extra2 = _result.Extra1
|
|
};
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error("Something Went Wrong, Please Try Again!!", ex);
|
|
_jsonResp.SetResponse("1", "Could not complete the request.");
|
|
return _jsonResp;
|
|
}
|
|
}
|
|
|
|
public JsonRxResponse WithdrawFromWallet(WithdrawFromWalletModel withdrawWallet)
|
|
{
|
|
APIJsonResponse _apiJsonResponse = new APIJsonResponse();
|
|
JsonRxResponse _jsonResp = new JsonRxResponse();
|
|
try
|
|
{
|
|
Log.DebugFormat("WithdrawFromWallet | Calling WithdrawFromWallet method.");
|
|
|
|
APIJsonResponse _result = new APIJsonResponse();
|
|
withdrawWallet.UserName = withdrawWallet.userID;
|
|
|
|
_result = _tpApi.ThirdPartyApiGetDataOnly<WithdrawFromWalletModel, APIJsonResponse>(withdrawWallet, "TP/withdrawFromWallet", out _apiJsonResponse);
|
|
|
|
Log.Debug("WithdrawFromWallet | Calling WithdrawFromWallet with response..." + JsonConvert.SerializeObject(_result));
|
|
|
|
//for now returning harcode success value
|
|
return _jsonResp = new JsonRxResponse()
|
|
{
|
|
ErrorCode = _result.ResponseCode,
|
|
Msg = _result.Msg
|
|
};
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error("Something Went Wrong, Please Try Again!!", ex);
|
|
_jsonResp.SetResponse("1", "Could not complete the request.");
|
|
return _jsonResp;
|
|
}
|
|
}
|
|
|
|
public APIJsonResponse GetResponseDummyData(SearchTxnModel searchTxn)
|
|
{
|
|
APIJsonResponse _apiResp = new APIJsonResponse();
|
|
if (searchTxn.controlNumber != "12345678")
|
|
{
|
|
_apiResp = new APIJsonResponse
|
|
{
|
|
ResponseCode = "1",
|
|
Msg = "Invalid Transaction!"
|
|
};
|
|
|
|
return _apiResp;
|
|
}
|
|
|
|
_apiResp = new APIJsonResponse
|
|
{
|
|
ResponseCode = "0",
|
|
Msg = "Success"
|
|
};
|
|
|
|
_apiResp.Data = new
|
|
{
|
|
txnId = "100001",
|
|
sendingCountryCode = "NP",
|
|
sendingCountryName = "Nepal",
|
|
controlNo = searchTxn.controlNumber,
|
|
tranDate = "2020-01-01",
|
|
senderName = "Test Sender For Nepal",
|
|
receiverName = "Test Recv. Name",
|
|
receiverAddress = "Mongolia, test address",
|
|
receiverMobile = "9848741445",
|
|
status = "Unpaid",
|
|
serviceFee = "0.00",
|
|
exrate = "2.00",
|
|
receivedAmount = "1000.00"
|
|
};
|
|
|
|
return _apiResp;
|
|
}
|
|
|
|
private APIJsonResponse GetResponseDummyDataWithdraw(WithdrawWalletRequestModel withdrawWalletRequest)
|
|
{
|
|
APIJsonResponse _apiResp = new APIJsonResponse();
|
|
if (GetStatic.ParseDouble(withdrawWalletRequest.amount) > 100000)
|
|
{
|
|
_apiResp = new APIJsonResponse
|
|
{
|
|
ResponseCode = "1",
|
|
Msg = "Withdraw amount can not be greater than 100,000!"
|
|
};
|
|
|
|
return _apiResp;
|
|
}
|
|
|
|
if (GetStatic.ParseDouble(withdrawWalletRequest.amount) < 1000)
|
|
{
|
|
_apiResp = new APIJsonResponse
|
|
{
|
|
ResponseCode = "1",
|
|
Msg = "Withdraw amount can not be less than 1000!"
|
|
};
|
|
|
|
return _apiResp;
|
|
}
|
|
|
|
_apiResp = new APIJsonResponse
|
|
{
|
|
ResponseCode = "0",
|
|
Msg = "Success"
|
|
};
|
|
|
|
string sc = "0";
|
|
if (GetStatic.ParseDouble(withdrawWalletRequest.amount) > 1000 && GetStatic.ParseDouble(withdrawWalletRequest.amount) <= 10000)
|
|
sc = "50";
|
|
if (GetStatic.ParseDouble(withdrawWalletRequest.amount) > 10000 && GetStatic.ParseDouble(withdrawWalletRequest.amount) <= 20000)
|
|
sc = "80";
|
|
if (GetStatic.ParseDouble(withdrawWalletRequest.amount) > 20000 && GetStatic.ParseDouble(withdrawWalletRequest.amount) <= 50000)
|
|
sc = "150";
|
|
if (GetStatic.ParseDouble(withdrawWalletRequest.amount) > 50000 && GetStatic.ParseDouble(withdrawWalletRequest.amount) <= 100000)
|
|
sc = "250";
|
|
|
|
_apiResp.Data = new
|
|
{
|
|
bankName = "Mangolia test Bank",
|
|
accountNo = "789748524",
|
|
serviceCharge = sc,
|
|
amount = withdrawWalletRequest.amount,
|
|
noticeMessage = "This is test notice msg!"
|
|
};
|
|
|
|
return _apiResp;
|
|
}
|
|
}
|
|
}
|