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

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;
}
}
}