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.
603 lines
29 KiB
603 lines
29 KiB
using Common;
|
|
using Common.Helper;
|
|
using Common.KFTC;
|
|
using Common.Model;
|
|
using Common.Model.Config;
|
|
using Common.Model.External;
|
|
using Common.Model.SendMoney;
|
|
using log4net;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Runtime.Remoting.Messaging;
|
|
|
|
namespace Repository.SendMoney
|
|
{
|
|
public class SendMoneyRepository : ISendMoneyRepository
|
|
{
|
|
private readonly Dao _dao = null;
|
|
private static readonly ILog Log = LogManager.GetLogger(typeof(SendMoneyRepository));
|
|
|
|
public SendMoneyRepository()
|
|
{
|
|
_dao = new Dao();
|
|
}
|
|
|
|
public CountryServiceDetail LoadCountryServiceDetail(CountryServiceModel request)
|
|
{
|
|
var sql = "EXEC mobile_proc_sendMoney @flag='load'";
|
|
sql += ", @pCountry = " + _dao.FilterString(request.Country);
|
|
sql += ", @receiverId = " + _dao.FilterString(request.ReceiverId);
|
|
sql += ", @customerId = " + _dao.FilterString(request.CustomerId);
|
|
Log.DebugFormat("LoadCountryServiceDetail SQL:{0}", sql);
|
|
var ds = _dao.ExecuteDataset(sql);
|
|
if (ds == null)
|
|
return null;
|
|
|
|
if (ds.Tables.Count < 6)
|
|
return null;
|
|
|
|
CountryServiceDetail detail = new CountryServiceDetail();
|
|
var ctry = ds.Tables[0];
|
|
if (ctry.Rows.Count != 1)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
detail.Id = Convert.ToString(ctry.Rows[0]["Id"]);
|
|
detail.Name = Convert.ToString(ctry.Rows[0]["Name"]);
|
|
detail.Code = Convert.ToString(ctry.Rows[0]["Code"]);
|
|
|
|
var payMode = ds.Tables[1];
|
|
List<Payoutmode> pmodeLs = new List<Payoutmode>();
|
|
if (payMode.Rows.Count > 0)
|
|
{
|
|
foreach (DataRow dr in payMode.Rows)
|
|
{
|
|
var currs = Convert.ToString(dr["PayCurrency"]);
|
|
var lscurr = new List<string>();
|
|
if (!string.IsNullOrEmpty(currs))
|
|
{
|
|
string[] str = currs.Split(',').SelectDistinct();
|
|
foreach (string s in str)
|
|
{
|
|
lscurr.Add(s);
|
|
}
|
|
}
|
|
var pMode = new Payoutmode { Id = Convert.ToString(dr["ModeId"]), Mode = Convert.ToString(dr["Mode"]), PayoutPartner = Convert.ToString(dr["PayoutPartner"]), PayCurrency = lscurr, Bankrequired = Convert.ToString(dr["BankRequired"]) };
|
|
if (pMode.Bankrequired.Equals("True"))
|
|
{
|
|
var banks = ds.Tables[2];
|
|
var bankList = new List<Banks>();
|
|
foreach (DataRow drr in banks.Rows)
|
|
{
|
|
if (pMode.Id.Equals(Convert.ToString(drr["AgentRole"])))
|
|
{
|
|
var b = new Banks
|
|
{
|
|
Id = Convert.ToString(drr["Id"]),
|
|
Name = Convert.ToString(drr["Name"]),
|
|
Code = Convert.ToString(drr["Code"]),
|
|
BranchRequired = Convert.ToString(drr["BranchRequired"]),
|
|
IsAccountRequired = Convert.ToString(drr["IsAccountRequired"]),
|
|
IsAccountValidation = Convert.ToString(drr["IsAccountValidation"])
|
|
};
|
|
|
|
var durrBank = ds.Tables[3];
|
|
var branchList = new List<BankBranch>();
|
|
foreach (DataRow drBranch in durrBank.Rows)
|
|
{
|
|
if (Convert.ToString(drBranch["BankId"]).Equals(b.Id))
|
|
{
|
|
branchList.Add(new BankBranch { Id = Convert.ToString(drBranch["Id"]), Name = Convert.ToString(drBranch["Name"]) });
|
|
}
|
|
}
|
|
|
|
if (b.BranchRequired.Equals("True"))
|
|
{
|
|
b.BranchList = branchList;
|
|
}
|
|
var durr = ds.Tables[4];
|
|
List<string> pC = new List<string>();
|
|
foreach (DataRow drrr in durr.Rows)
|
|
{
|
|
if (Convert.ToString(drrr["Id"]).Equals(b.Id))
|
|
{
|
|
pC.Add(Convert.ToString(drrr["Currency"]));
|
|
}
|
|
}
|
|
b.PayCurrency = pC;
|
|
bankList.Add(b);
|
|
}
|
|
pMode.BankList = bankList;
|
|
}
|
|
}
|
|
pmodeLs.Add(pMode);
|
|
}
|
|
}
|
|
detail.PayoutMode = pmodeLs;
|
|
|
|
//var dt = ds.Tables[6];
|
|
//List<AccountDetails> accountList = GetAllAccountList(dt);
|
|
//detail.AccountList = accountList;
|
|
|
|
return detail;
|
|
}
|
|
|
|
public List<AccountDetails> GetAllAccountList(DataTable dt)
|
|
{
|
|
List<AccountDetails> _accountDetails = new List<AccountDetails>();
|
|
try
|
|
{
|
|
if (dt == null || dt.Rows.Count == 0)
|
|
{
|
|
return _accountDetails;
|
|
}
|
|
foreach (DataRow item in dt.Rows)
|
|
{
|
|
var accName = "";
|
|
if (item["isApproved"].ToString() == "N")
|
|
{
|
|
accName = item["walletName"].ToString() + item["autoDebit"].ToString() + " (Unapproved)";
|
|
}
|
|
else
|
|
{
|
|
accName = item["walletName"].ToString() + item["autoDebit"].ToString();
|
|
}
|
|
|
|
accName += "(" + item["accountNumMasked"].ToString() + ")";
|
|
|
|
AccountDetails _account = new AccountDetails();
|
|
_account.Type = item["type"].ToString();
|
|
_account.FintechUseNo = item["fintechUseNo"].ToString();
|
|
_account.AccountName = item["accountName"].ToString();
|
|
_account.BankCode = item["bankCode"].ToString();
|
|
_account.AccountNum = item["accountNo"].ToString();
|
|
_account.IsApproved = item["isApproved"].ToString();
|
|
_account.AccessToken = item["accHolderInfoType"].ToString();
|
|
_account.AccessToken = item["accHolderInfo"].ToString();
|
|
_account.WalletName = item["walletName"].ToString();
|
|
_account.AutoDebit = item["autoDebit"].ToString();
|
|
_account.AccountNumMasked = item["accountNumMasked"].ToString();
|
|
_account.FullAccountName = accName;
|
|
_accountDetails.Add(_account);
|
|
}
|
|
return _accountDetails;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error("Exception tracked : " + ex.Message, ex);
|
|
return _accountDetails;
|
|
}
|
|
}
|
|
|
|
public List<BankBranch> LoadBankBranch(string country, string bank, string search)
|
|
{
|
|
var sql = "EXEC mobile_proc_sendMoney @flag='bankBranch'";
|
|
sql += ", @pCountry = " + _dao.FilterString(country);
|
|
sql += ", @bank = " + _dao.FilterString(bank);
|
|
sql += ", @Search = " + _dao.FilterString(search);
|
|
Log.DebugFormat("LoadBankBranch SQL:{0}", sql);
|
|
var dt = _dao.ExecuteDataTable(sql);
|
|
if (dt.Rows.Count < 1)
|
|
return null;
|
|
|
|
List<BankBranch> ls = new List<BankBranch>();
|
|
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
ls.Add(new BankBranch { Id = Convert.ToString(dr["Id"]), Name = Convert.ToString(dr["Name"]) });
|
|
}
|
|
return ls;
|
|
}
|
|
|
|
public RemittanceRequestModel GetTransactionDetail(MobileRemitRequest model)
|
|
{
|
|
RemittanceRequestModel req = new RemittanceRequestModel();
|
|
try
|
|
{
|
|
var sql = "EXEC mobile_proc_txnDetail @flag='detail'";
|
|
sql += ", @User = " + _dao.FilterString(model.User);
|
|
sql += ", @SenderId = " + _dao.FilterString(model.SenderId);
|
|
sql += ", @ReceiverId = " + _dao.FilterString(model.ReceiverId);
|
|
sql += ", @DeliveryMethodId = " + _dao.FilterString(model.DeliveryMethodId);
|
|
sql += ", @PBranch = " + _dao.FilterString(model.PBranch);
|
|
sql += ", @PAgent = " + _dao.FilterString(model.PAgent);
|
|
sql += ", @PCurr = " + _dao.FilterString(model.PCurr);
|
|
sql += ", @CollCurr = " + _dao.FilterString(model.CollCurr);
|
|
sql += ", @CollAmt = " + _dao.FilterString(model.CollAmt);
|
|
sql += ", @PayoutAmt = " + _dao.FilterString(model.PayoutAmt);
|
|
sql += ", @TransferAmt = " + _dao.FilterString(model.TransferAmt);
|
|
sql += ", @ServiceCharge = " + _dao.FilterString(model.ServiceCharge);
|
|
sql += ", @Discount = " + _dao.FilterString(model.Discount);
|
|
sql += ", @ExRate = " + _dao.FilterString(model.ExRate);
|
|
sql += ", @CalBy = " + _dao.FilterString(model.CalBy);
|
|
//sql += ", @PurposeOfRemittance = " + _dao.FilterString(model.PurposeOfRemittance);
|
|
//sql += ", @SourceOfFund = " + _dao.FilterString(model.SourceOfFund);
|
|
//sql += ", @RelWithSender = " + _dao.FilterString(model.RelWithSender);
|
|
sql += ", @IpAddress = " + _dao.FilterString(model.IpAddress);
|
|
sql += ", @TpExRate = " + _dao.FilterString(model.TpExRate);
|
|
sql += ", @TpPCurr = " + _dao.FilterString(model.TpPCurr);
|
|
sql += ", @PayOutPartner = " + _dao.FilterString(model.PayOutPartner);
|
|
sql += ", @FOREX_SESSION_ID = " + _dao.FilterString(model.FOREX_SESSION_ID);
|
|
//sql += ", @KftcLogId = " + _dao.FilterString(model.KftcLogId);
|
|
sql += ", @PaymentType = " + _dao.FilterString(model.PaymentType);
|
|
sql += ", @IsAgreed = " + _dao.FilterString(model.IsAgreed);
|
|
sql += ", @TxnPassword = " + _dao.FilterString(model.TxnPassword);
|
|
sql += ", @ProcessId = " + _dao.FilterString(model.ProcessId);
|
|
sql += ", @ReceiverAccountNo = " + _dao.FilterString(model.ReceiverAccountNo);
|
|
Log.DebugFormat("GetTransactionDetail SQL:{0}", sql);
|
|
|
|
Log.Debug(sql);
|
|
var dr = _dao.ExecuteDataRow(sql);
|
|
|
|
req.ErrorCode = Convert.ToString(dr["ErrorCode"]);
|
|
req.Msg = Convert.ToString(dr["Msg"]);
|
|
if (req.ErrorCode == "1")
|
|
{
|
|
return req;
|
|
}
|
|
req.User = Convert.ToString(dr["User"]);
|
|
req.SenderId = Convert.ToString(dr["SenderId"]);
|
|
req.SenderFirstName = Convert.ToString(dr["SenderFirstName"]);
|
|
req.SenderMiddleName = Convert.ToString(dr["SenderMiddleName"]);
|
|
req.SenderLastName1 = Convert.ToString(dr["SenderLastName1"]);
|
|
req.SenderLastName2 = Convert.ToString(dr["SenderLastName2"]);
|
|
req.SenderIdExpiryDate = Convert.ToString(dr["SenderIdExpiryDate"]);
|
|
req.SenderOccuption = Convert.ToString(dr["SenderOccuption"]);
|
|
req.SenderBirthDate = Convert.ToString(dr["SenderBirthDate"]);
|
|
req.SenderEmail = Convert.ToString(dr["SenderEmail"]);
|
|
req.SenderCity = Convert.ToString(dr["SenderCity"]);
|
|
req.SenderPostalCode = Convert.ToString(dr["SenderPostalCode"]);
|
|
req.SenderNativeCountry = Convert.ToString(dr["SenderNativeCountry"]);
|
|
req.SenderIdType = Convert.ToString(dr["SenderIdType"]);
|
|
req.SenderIdNo = Convert.ToString(dr["SenderIdNo"]);
|
|
req.SenderMobile = Convert.ToString(dr["SenderMobile"]);
|
|
req.SenderAddress = Convert.ToString(dr["SenderAddress"]);
|
|
req.ReceiverId = Convert.ToString(dr["ReceiverId"]);
|
|
req.ReceiverFullName = (Convert.ToString(dr["ReceiverFirstName"]) + " " + Convert.ToString(dr["ReceiverMiddleName"])).Trim() + " " + Convert.ToString(dr["ReceiverLastName"]);
|
|
req.ReceiverFirstName = Convert.ToString(dr["ReceiverFirstName"]);
|
|
req.ReceiverMiddleName = Convert.ToString(dr["ReceiverMiddleName"]);
|
|
req.ReceiverLastName = Convert.ToString(dr["ReceiverLastName"]);
|
|
req.ReceiverIdType = Convert.ToString(dr["ReceiverIdType"]);
|
|
req.ReceiverIdNo = Convert.ToString(dr["ReceiverIdNo"]);
|
|
req.ReceiverIdValid = Convert.ToString(dr["ReceiverIdValid"]);
|
|
req.ReceiverDob = Convert.ToString(dr["ReceiverDob"]);
|
|
req.ReceiverTel = Convert.ToString(dr["ReceiverTel"]);
|
|
req.ReceiverMobile = Convert.ToString(dr["ReceiverMobile"]);
|
|
req.ReceiverNativeCountry = Convert.ToString(dr["ReceiverNativeCountry"]);
|
|
req.ReceiverCity = Convert.ToString(dr["ReceiverCity"]);
|
|
req.ReceiverAdd1 = Convert.ToString(dr["ReceiverAdd1"]);
|
|
req.ReceiverEmail = Convert.ToString(dr["ReceiverEmail"]);
|
|
req.ReceiverAccountNo = Convert.ToString(dr["ReceiverAccountNo"]);
|
|
req.ReceiverCountry = Convert.ToString(dr["ReceiverCountry"]);
|
|
req.ReceiverCountryId = Convert.ToString(dr["ReceiverCountryId"]);
|
|
req.DepositMode = Convert.ToString(dr["DepositMode"]);
|
|
req.DeliveryMethod = Convert.ToString(dr["DeliveryMethod"]);
|
|
req.DeliveryMethodId = Convert.ToString(dr["DeliveryMethodId"]);
|
|
req.PBranch = Convert.ToString(dr["PBranch"]);
|
|
req.PBranchName = Convert.ToString(dr["PBranchName"]);
|
|
req.PBranchCity = Convert.ToString(dr["PBranchCity"]);
|
|
//req.PBranchRoutingCode = Convert.ToString(dr["PBranchRoutingCode"]);
|
|
//req.PBranchRoutingType = Convert.ToString(dr["PBranchRoutingType"]);
|
|
req.PAgent = Convert.ToString(dr["PAgent"]);
|
|
req.PAgentName = Convert.ToString(dr["PAgentName"]);
|
|
req.PBankType = Convert.ToString(dr["PBankType"]);
|
|
req.PCurr = Convert.ToString(dr["PCurr"]);
|
|
req.CollCurr = Convert.ToString(dr["CollCurr"]);
|
|
req.CollAmt = Convert.ToString(dr["CollAmt"]);
|
|
req.PayoutAmt = Convert.ToString(dr["PayoutAmt"]);
|
|
req.TransferAmt = Convert.ToString(dr["TransferAmt"]);
|
|
req.ServiceCharge = Convert.ToString(dr["ServiceCharge"]);
|
|
req.Discount = Convert.ToString(dr["Discount"]);
|
|
req.ExRate = Convert.ToString(dr["ExRate"]);
|
|
req.CalBy = Convert.ToString(dr["CalBy"]);
|
|
req.PurposeOfRemittance = Convert.ToString(dr["PurposeOfRemittance"]);
|
|
req.SourceOfFund = Convert.ToString(dr["SourceOfFund"]);
|
|
req.RelWithSender = Convert.ToString(dr["RelWithSender"]);
|
|
req.Occupation = Convert.ToString(dr["SenderOccuption"]);
|
|
req.PayoutMsg = Convert.ToString(dr["PayoutMsg"]);
|
|
req.SendingAgent = Convert.ToString(dr["SendingAgent"]);
|
|
req.SendingAgentName = Convert.ToString(dr["SendingAgentName"]);
|
|
req.SendingSuperAgent = Convert.ToString(dr["SendingSuperAgent"]);
|
|
req.IpAddress = Convert.ToString(dr["IpAddress"]);
|
|
req.SCountryId = Convert.ToString(dr["SCountryId"]);
|
|
req.SenderCountry = Convert.ToString(dr["SenderCountry"]);
|
|
req.AgentRefId = Convert.ToString(dr["AgentRefId"]);
|
|
//req.UnitaryBankAccountNo = Convert.ToString(dr["UnitaryBankAccountNo"]);
|
|
req.RState = Convert.ToString(dr["RState"]);
|
|
req.SBranch = Convert.ToString(dr["SBranch"]);
|
|
req.RStateText = Convert.ToString(dr["RStateText"]);
|
|
req.RLocation = Convert.ToString(dr["RLocation"]);
|
|
req.RLocationText = Convert.ToString(dr["RLocationText"]);
|
|
req.TpExRate = Convert.ToString(dr["TpExRate"]);
|
|
req.TpPCurr = Convert.ToString(dr["TpPCurr"]);
|
|
req.TpRefNo = Convert.ToString(dr["TpRefNo"]);
|
|
req.TpTranId = Convert.ToString(dr["TpTranId"]);
|
|
req.PayOutPartner = Convert.ToString(dr["PayOutPartner"]);
|
|
req.FOREX_SESSION_ID = Convert.ToString(dr["FOREX_SESSION_ID"]);
|
|
req.KftcLogId = Convert.ToString(dr["KftcLogId"]);
|
|
req.PaymentType = Convert.ToString(dr["PaymentType"]);
|
|
req.ProcessId = Convert.ToString(dr["ProcessId"]);
|
|
req.PaymentAmount = Convert.ToString(dr["PaymentAmount"]);
|
|
req.schemeId = model.schemeId;
|
|
return req;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error("EXception has occured", ex);
|
|
req.ErrorCode = "1";
|
|
req.Msg = "Unauthorized transaction.";
|
|
return req;
|
|
}
|
|
}
|
|
|
|
public JsonRxResponse TrackTransaction(TrackTransactionParam param)
|
|
{
|
|
var lang = Convert.ToString(CallContext.GetData(Constants.Language));
|
|
TrackTransactionResponse trackTranResponse = null;
|
|
JsonRxResponse jsonRx = new JsonRxResponse();
|
|
var sql = "EXEC mobile_proc_txnDetail @flag='track-transaction' ";
|
|
sql += ", @controlNo = " + _dao.FilterString(param.ControlNo);
|
|
|
|
Log.DebugFormat("TrackTransaction | SQL : {0}", sql);
|
|
var dt = _dao.ExecuteDataRow(sql);
|
|
|
|
string enumString = string.Empty;
|
|
var code = dt["errorcode"];
|
|
|
|
if (code.Equals("0"))
|
|
{
|
|
enumString = RESPONSE_MSG.TRACK_TRANSACTION_FAIL.ToString();
|
|
}
|
|
var map = Utilities.GetLanguageMapping(enumString, lang);
|
|
|
|
|
|
//if (!Convert.ToString(dt["errorCode"]).Equals("0"))
|
|
//{
|
|
// return new JsonRxResponse()
|
|
// {
|
|
// ErrorCode = "1",
|
|
// Msg = Convert.ToString(dt["msg"])
|
|
// };
|
|
//}
|
|
|
|
trackTranResponse = new TrackTransactionResponse()
|
|
{
|
|
PayStatus = Convert.ToString(dt["payStatus"]),
|
|
Bank = Convert.ToString(dt["bank"]),
|
|
BankBranch = Convert.ToString(dt["branch"]),
|
|
AccountNo = Convert.ToString(dt["AccountNo"]),
|
|
Receiver = Convert.ToString(dt["Receiver"]),
|
|
SendDate = Convert.ToString(dt["SendDate"]),
|
|
CollAmt = Convert.ToString(dt["CollAmt"]),
|
|
PayoutAmt = GetStatic.ShowDecimal(Convert.ToString(dt["PayAmount"]))
|
|
};
|
|
//return new JsonRxResponse()
|
|
//{
|
|
// ErrorCode = "0",
|
|
// Msg = "Success",
|
|
// Data = trackTranResponse
|
|
//};
|
|
|
|
return new JsonRxResponse { ErrorCode = code.Equals("0") ? "0" : "1", Msg = map.Message };
|
|
}
|
|
|
|
public JsonRxResponse AmendTransaction(TrackTransactionParam param)
|
|
{
|
|
|
|
var lang = Convert.ToString(CallContext.GetData(Constants.Language));
|
|
var sql = "EXEC mobile_proc_txnDetail @flag='amend-transaction' ";
|
|
sql += ", @controlNo = " + _dao.FilterString(param.ControlNo);
|
|
sql += ", @tranId = " + _dao.FilterString(param.TranId);
|
|
sql += ", @User = " + _dao.FilterString(param.UserId);
|
|
sql += ", @Message = " + _dao.FilterString(param.Body);
|
|
|
|
Log.DebugFormat("AmendTransaction | SQL : {0}", sql);
|
|
var res = _dao.ParseDbResult(sql);
|
|
|
|
string enumString = string.Empty;
|
|
if (res.ResponseCode.Equals("0"))
|
|
{
|
|
enumString = RESPONSE_MSG.AMEND_TRANSACTION_SUCCESS.ToString();
|
|
//return new JsonRxResponse { ErrorCode = res.ResponseCode, Msg = "Success", Data = msg };
|
|
}
|
|
else if (res.ResponseCode.Equals("1"))
|
|
{
|
|
enumString = RESPONSE_MSG.AMEND_TRANSACTION_FAIL.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("2"))
|
|
{
|
|
enumString = RESPONSE_MSG.AMEND_TRANSACTION_FAIL_5.ToString();
|
|
}
|
|
var map = Utilities.GetLanguageMapping(enumString, lang);
|
|
|
|
|
|
return new JsonRxResponse { ErrorCode = res.ResponseCode.Equals("0") ? "0" : "1", Msg = map.Message, Data = new MessageResponse() { Message = map.Message } };
|
|
//return new JsonRxResponse { ErrorCode = res.ResponseCode, Msg = res.Msg };
|
|
}
|
|
|
|
public JsonRxResponse AmendTransactionV2(AmendTransactionParam param, string xml)
|
|
{
|
|
var lang = Convert.ToString(CallContext.GetData(Constants.Language));
|
|
// MessageResponse msg = null;
|
|
var sql = "EXEC mobile_proc_txnDetail @flag='amend-transaction-v2' ";
|
|
sql += ", @controlNo = " + _dao.FilterString(param.ControlNo);
|
|
sql += ", @tranId = " + _dao.FilterString(param.TranId);
|
|
sql += ", @User = " + _dao.FilterString(param.UserId);
|
|
sql += ", @xml = '" + xml + "'";
|
|
|
|
Log.DebugFormat("AmendTransactionV2 | SQL : {0}", sql);
|
|
var res = _dao.ParseDbResult(sql);
|
|
string enumString = string.Empty;
|
|
|
|
if (res.ResponseCode.Equals("0"))
|
|
{
|
|
//var msg = new { Message = res.Msg };
|
|
//return new JsonRxResponse { ErrorCode = res.ResponseCode, Msg = "Success", Data = msg };
|
|
enumString = RESPONSE_MSG.AMEND_TRANSACTION_SUCCESS.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("1"))
|
|
{
|
|
enumString = RESPONSE_MSG.AMEND_TRANSACTION_V2_FAIL_1.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("2"))
|
|
{
|
|
enumString = RESPONSE_MSG.AMEND_TRANSACTION_V2_FAIL_2.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("3"))
|
|
{
|
|
enumString = RESPONSE_MSG.AMEND_TRANSACTION_V2_FAIL_3.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("4"))
|
|
{
|
|
enumString = RESPONSE_MSG.AMEND_TRANSACTION_V2_FAIL_4.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("5"))
|
|
{
|
|
enumString = RESPONSE_MSG.AMEND_TRANSACTION_V2_FAIL_5.ToString();
|
|
}
|
|
var map = Utilities.GetLanguageMapping(enumString, lang);
|
|
return new JsonRxResponse { ErrorCode = res.Equals("0") ? "0" : "1", Msg = map.Message, Data = new MessageResponse() { Message = map.Message } };
|
|
//return new JsonRxResponse { ErrorCode = res.ResponseCode, Msg = res.Msg };
|
|
}
|
|
|
|
public JsonRxResponse CancelTransaction(TrackTransactionParam param)
|
|
{
|
|
var lang = Convert.ToString(CallContext.GetData(Constants.Language));
|
|
//MessageResponse msg = null;
|
|
var sql = "EXEC mobile_proc_txnDetail @flag='cancel-transaction' ";
|
|
sql += ", @controlNo = " + _dao.FilterString(param.ControlNo);
|
|
sql += ", @tranId = " + _dao.FilterString(param.TranId);
|
|
sql += ", @User = " + _dao.FilterString(param.UserId);
|
|
sql += ", @Message = " + _dao.FilterString(param.Body);
|
|
|
|
Log.DebugFormat("CancelTransaction | SQL : {0}", sql);
|
|
var res = _dao.ParseDbResult(sql);
|
|
|
|
string enumString = string.Empty;
|
|
|
|
if (res.ResponseCode.Equals("0"))
|
|
{
|
|
//var msg = new { Message = res.Msg };
|
|
//return new JsonRxResponse { ErrorCode = res.ResponseCode, Msg = "Success", Data = msg };
|
|
enumString = RESPONSE_MSG.CANCEL_TRANSACTION_SUCCESS.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("1"))
|
|
{
|
|
enumString = RESPONSE_MSG.CANCEL_TRANSACTION_FAIL_1.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("2"))
|
|
{
|
|
enumString = RESPONSE_MSG.CANCEL_TRANSACTION_FAIL_2.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("3"))
|
|
{
|
|
enumString = RESPONSE_MSG.CANCEL_TRANSACTION_FAIL_7.ToString();
|
|
}
|
|
var map = Utilities.GetLanguageMapping(enumString, lang);
|
|
return new JsonRxResponse { ErrorCode = res.ResponseCode.Equals("0") ? "0" : "1", Msg = map.Message, Data = new MessageResponse() { Message = map.Message } };
|
|
//return new JsonRxResponse { ErrorCode = res.ResponseCode, Msg = res.Msg };
|
|
}
|
|
|
|
public JsonRxResponse RejectTransaction(RejectTransactionParam param)
|
|
{
|
|
var lang = Convert.ToString(CallContext.GetData(Constants.Language));
|
|
//MessageResponse msg = null;
|
|
var sql = "EXEC proc_ApproveHoldedTXN @flag='reject' ";
|
|
//sql += ", @controlNo = " + _dao.FilterString(param.ControlNo);
|
|
sql += ", @id = " + _dao.FilterString(param.TranId);
|
|
sql += ", @User = " + _dao.FilterString(param.UserId);
|
|
sql += ", @remarks = " + _dao.FilterString(param.Body);
|
|
sql += ", @branch = " + _dao.FilterString("Mobile");
|
|
Log.DebugFormat("RejectTransaction | SQL : {0}", sql);
|
|
var res = _dao.ParseDbResult(sql);
|
|
|
|
string enumString = string.Empty;
|
|
|
|
if (res.ResponseCode.Equals("0"))
|
|
{
|
|
//var msg = new { Message = res.Msg };
|
|
//return new JsonRxResponse { ErrorCode = res.ResponseCode, Msg = "Success", Data = msg };
|
|
enumString = RESPONSE_MSG.REJECT_TRANSACTION_SUCCESS.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("1"))
|
|
{
|
|
enumString = RESPONSE_MSG.CANCEL_TRANSACTION_FAIL_1.ToString();
|
|
}
|
|
else if (res.ResponseCode.Equals("2"))
|
|
{
|
|
enumString = RESPONSE_MSG.REJECT_TRANSACTION_FAIL.ToString();
|
|
}
|
|
var map = Utilities.GetLanguageMapping(enumString, lang);
|
|
return new JsonRxResponse { ErrorCode = res.ResponseCode.Equals("0") ? "0" : "1", Msg = map.Message, Data = new MessageResponse() { Message = map.Message } };
|
|
//return new JsonRxResponse { ErrorCode = res.ResponseCode, Msg = res.Msg };
|
|
}
|
|
|
|
public DbResult GetTxnApproveData(string user, string id)
|
|
{
|
|
var sql = "EXEC proc_ApproveHoldedTXN @flag='get-info' ";
|
|
sql += ", @user = " + _dao.FilterString(user);
|
|
sql += ", @id = " + _dao.FilterString(id);
|
|
|
|
return _dao.ParseDbResult(sql);
|
|
}
|
|
|
|
public string GetCurrentBalance(string user)
|
|
{
|
|
var sql = "SELECT dbo.FNAGetCustomerACBal('" + user + "')";
|
|
var res = _dao.GetSingleResult(sql);
|
|
return res;
|
|
}
|
|
|
|
public DbResult CheckLoginPIN(string user, string txnPassword, string paymentType, string customerId)
|
|
{
|
|
string sql = sql = "EXEC proc_online_customer_login";
|
|
sql += " @flag='checkpin'";
|
|
sql += ", @customerEmail =" + _dao.FilterString(user);
|
|
sql += ", @password =" + _dao.FilterString(txnPassword);
|
|
|
|
Log.Debug("CheckLoginPIN | DB REQUEST : " + sql);
|
|
return _dao.ParseDbResult(sql);
|
|
}
|
|
|
|
public DbResult CheckLoginPassword(string user, string txnPassword, string paymentType, string customerId)
|
|
{
|
|
string sql = "";
|
|
if (paymentType.ToLower() == "wallet")
|
|
{
|
|
sql = "EXEC proc_online_customer_login";
|
|
sql += " @flag='checkpass'";
|
|
sql += ", @customerEmail =" + _dao.FilterString(user);
|
|
sql += ", @password =" + _dao.FilterString(txnPassword);
|
|
}
|
|
else if (paymentType.ToLower() == "autodebit")
|
|
{
|
|
sql = "EXEC PROC_OTP_SEND_TXN";
|
|
sql += " @FLAG ='VERIFY'";
|
|
sql += ", @OTP_NUMBER =" + _dao.FilterString(txnPassword);
|
|
sql += ", @CUSTOMERID =" + _dao.FilterString(customerId);
|
|
}
|
|
return _dao.ParseDbResult(sql);
|
|
}
|
|
|
|
public GetDetailForDllTxn GetDetailForDll(string SenderId, string ReceiverId)
|
|
{
|
|
string sql = "";
|
|
sql = "EXEC [proc_GetDetailForDllTxn]";
|
|
sql += " @SenderId =" + _dao.FilterString(SenderId);
|
|
sql += ", @ReceiverId =" + _dao.FilterString(ReceiverId);
|
|
|
|
var dt = _dao.ExecuteDataTable(sql);
|
|
return Mapper.DataTableToClass<GetDetailForDllTxn>(dt)[0];
|
|
}
|
|
|
|
|
|
public CallbackTpResponse TransactionStatusCallback(BracBankStatusCallbackParam param)
|
|
{
|
|
CallbackTpResponse response = new CallbackTpResponse();
|
|
|
|
return response;
|
|
}
|
|
}
|
|
}
|