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 pmodeLs = new List(); if (payMode.Rows.Count > 0) { foreach (DataRow dr in payMode.Rows) { var currs = Convert.ToString(dr["PayCurrency"]); var lscurr = new List(); 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(); 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(); 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 pC = new List(); 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 accountList = GetAllAccountList(dt); //detail.AccountList = accountList; return detail; } public List GetAllAccountList(DataTable dt) { List _accountDetails = new List(); 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 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 ls = new List(); 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(dt)[0]; } public CallbackTpResponse TransactionStatusCallback(BracBankStatusCallbackParam param) { CallbackTpResponse response = new CallbackTpResponse(); return response; } } }