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.
 
 
 
 
 

526 lines
23 KiB

using System.Data;
using Swift.DAL.Domain;
using Swift.DAL.SwiftDAL;
using System.Text;
using System;
namespace Swift.DAL.BL.Remit.Transaction.ThirdParty.GlobalBankCard
{
public class GlobalBankCardDao : RemittanceDao
{
//public DbResult CreateTransaction(string user, string id, string isKycApprove, bool pushAnyway)
//{
// var row = GetTxnDetail(user, id, false);
// var dr = new DbResult();
// if (row == null)
// {
// dr.SetError("1", "Transaction not found", null);
// return dr;
// }
// if (isKycApprove == "N")
// {
// return SendUnpaidUpdate(user, id, isKycApprove);
// }
// dr = PushToApi(id,user, ref row, false);
// if (dr.ErrorCode != "0")
// {
// var sql = " EXEC proc_ws_globalBankCard";
// sql += " @flag = 'sendError'";
// sql += ", @user= " + FilterString(user);
// sql += ", @id= " + FilterString(id);
// sql += ", @payResponseCode = " + FilterString(dr.Extra);
// sql += ", @payResponseMsg = " + FilterString(dr.Msg);
// ParseDbResult(sql);
// return dr;
// }
// return SendUpdate(user, id, "Y");
//}
public DbResult SyncStatus(string user, string controlNo, string syncDate, string status)
{
var sql = "EXEC proc_ws_globalBankCard @flag = 'ss' ";
sql += " , @user =" + FilterString(user);
sql += " , @controlNo =" + FilterString(controlNo);
sql += " , @syncDate =" + FilterString(syncDate);
sql += " , @status =" + FilterString(status);
return ParseDbResult(sql);
}
//public ReportResult GetReconcileReport(string user, string date)
//{
// var dtBody = new DataTable();
// var dr = new GlobalBankCardAPI().GetTransactions(user, date, out dtBody);
// var dtResult = new DataTable();
// dtResult.Columns.Add("ErrorCode");
// dtResult.Columns.Add("Msg");
// dtResult.Columns.Add("Id");
// var row = dtResult.NewRow();
// row[0] = dr.ErrorCode;
// row[1] = dr.Msg;
// row[2] = dr.Id;
// dtResult.Rows.Add(row);
// var dtFilter = new DataTable();
// dtFilter.Columns.Add("Head");
// dtFilter.Columns.Add("Value");
// row = dtFilter.NewRow();
// row[0] = "Date";
// row[1] = date;
// dtFilter.Rows.Add(row);
// var dtTitle = new DataTable();
// dtTitle.Columns.Add("Title");
// row = dtTitle.NewRow();
// row[0] = "Reconcile Report - IME Remit Card";
// dtTitle.Rows.Add(row);
// var ds = new DataSet();
// ds.Tables.Add(dtBody);
// ds.Tables.Add(dtResult);
// ds.Tables.Add(dtFilter);
// ds.Tables.Add(dtTitle);
// return ParseReportResult(ds);
//}
public DataTable GetPinDetailByDate(string user, string date)
{
var sql = "EXEC proc_ws_globalBankCard @flag = 's' ";
sql += " , @syncDate =" + FilterString(date);
sql += " , @user =" + FilterString(user);
return ExecuteDataTable(sql);
}
public DataTable GetCardHolderInfo(string user, string remitCardNo)
{
var sql = "EXEC proc_ws_globalBankCard";
sql += " @flag = 'selectByRemitCardNo'";
sql += ", @user = " + FilterString(user);
sql += ", @remitCardNo = " + FilterString(remitCardNo);
var ds = ExecuteDataset(sql);
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
return null;
return ds.Tables[0];
}
public DataTable GetServiceCharge(string user, string sBranch, string settlingAgent, string tAmt)
{
var sql = "EXEC proc_ws_globalBankCard @flag = 'sc'";
sql += ", @tAmt = " + FilterString(tAmt);
sql += ", @sBranch = " + FilterString(sBranch);
sql += ", @settlingAgent = " + FilterString(settlingAgent);
sql += ", @user = " + FilterString(user);
var ds = ExecuteDataset(sql);
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
return null;
return ds.Tables[0];
}
//public DbResult SendGlobalCardTxn(string user, GblBankCardTran tran, string fromSendTrnTime, string toSendTrnTime)
//{
// var sql = "EXEC proc_ws_globalBankCard @flag = 'i'";
// sql += ", @user = " + FilterString(user);
// sql += ", @sBranch = " + FilterString(tran.SBranch);
// sql += ", @agentUniqueRefId = " + FilterString(tran.AgentRefId);
// sql += ", @sBranchName = " + FilterString(tran.SBranchName);
// sql += ", @sAgent = " + FilterString(tran.SAgent);
// sql += ", @sAgentName = " + FilterString(tran.SAgentName);
// sql += ", @sSuperAgent = " + FilterString(tran.SSuperAgent);
// sql += ", @sSuperAgentName = " + FilterString(tran.SSuperAgentName);
// sql += ", @settlingAgent = " + FilterString(tran.SettlingAgent);
// sql += ", @mapCode = " + FilterString(tran.MapCodeInt);
// sql += ", @mapCodeDom = " + FilterString(tran.MapCodeDom);
// sql += ", @remitCardNo = " + FilterString(tran.RemitCardNo);
// sql += ", @benefName = " + FilterString(tran.BenefName);
// sql += ", @benefAddress = " + FilterString(tran.BenefAddress);
// sql += ", @benefMobile = " + FilterString(tran.BenefMobile);
// sql += ", @benefIdType = " + FilterString(tran.BenefIdType);
// sql += ", @benefIdNo = " + FilterString(tran.BenefIdNo);
// sql += ", @senderName = " + FilterString(tran.SenderName);
// sql += ", @senderAddress = " + FilterString(tran.SenderAddress);
// sql += ", @senderMobile = " + FilterString(tran.SenderMobile);
// sql += ", @senderIdType = " + FilterString(tran.SenderIdType);
// sql += ", @senderIdNo = " + FilterString(tran.SenderIdNo);
// sql += ", @senderRemitCardNo = " + FilterString(tran.SenderRemitCardNo);
// sql += ", @tAmt = " + FilterString(tran.TransferAmount);
// sql += ", @serviceCharge = " + FilterString(tran.ServiceCharge);
// sql += ", @cAmt = " + FilterString(tran.CollectionAmount);
// sql += ", @pAmt = " + FilterString(tran.TransferAmount);
// sql += ", @purposeOfRemit = " + FilterString(tran.PurposeOfRemittance);
// sql += ", @sourceOfFund = " + FilterString(tran.SourceOfFund);
// sql += ", @remarks = " + FilterString(tran.Remarks);
// sql += ", @fromSendTrnTime = " + FilterString(fromSendTrnTime);
// sql += ", @toSendTrnTime = " + FilterString(toSendTrnTime);
// sql += ", @txtPass = " + FilterString(tran.TxtPass);
// sql += ", @sDcInfo = " + FilterString(tran.DcInfo);
// sql += ", @sIpAddress = " + FilterString(tran.IpAddress);
// return ParseDbResult(sql);
//}
public DataSet GetSendReceipt(string controlNo, string user)
{
string sql = "EXEC proc_ws_globalBankCard @flag = 'receipt'";
sql += ", @user = " + FilterString(user);
sql += ", @controlNo = " + FilterString(controlNo);
return ExecuteDataset(sql);
}
//private DbResult PushToApi(string rowId, string user, ref DataRow row, bool pushAnyway)
//{
// var dr = new DbResult();
// dr.SetError("0", "Success", "");
// if (row == null)
// {
// dr.SetError("1", "Transaction not found", null);
// return dr;
// }
// var requestXml = "rowId=" + rowId;
// var id = ApiUtility.LogRequest(user, "IME Remit Card Number", "send txn", rowId, requestXml).Id;
// try
// {
// if (row["HitApi"].ToString().Equals("1") || pushAnyway)
// {
// var sendTxn = new GlobalTxn
// {
// ControlNo = row["controlNo"].ToString(),
// BenefName = row["benefName"].ToString(),
// BenefAddress = row["benefAddress"].ToString(),
// BenefMobile = row["benefMobile"].ToString(),
// BenefIdType = row["benefIdType"].ToString(),
// BenefIdNo = row["benefIdNo"].ToString(),
// BenefAccNo = row["benefAccNo"].ToString(),
// SenderName = row["senderName"].ToString(),
// SenderAddress = row["senderAddress"].ToString(),
// SenderMobile = row["senderMobile"].ToString(),
// SenderIdType = row["senderIdType"].ToString(),
// SenderIdNo = row["senderIdNo"].ToString(),
// Purpose = row["purpose"].ToString(),
// RemitType = row["remitType"].ToString(),
// PayingBankBranchCd = row["PayingBankBranchCd"].ToString(),
// RCurrency = row["rCurrency"].ToString(),
// LocalAmount = row["localAmount"].ToString(),
// Amount = row["amount"].ToString(),
// ServiceCharge = row["serviceCharge"].ToString(),
// PCommission = row["pCommission"].ToString(),
// DollarRate = row["dollarRate"].ToString(),
// RefNo = row["refNo"].ToString(),
// Remarks = row["remarks"].ToString(),
// Source = row["source"].ToString(),
// TxnType = row["txnType"].ToString()
// };
// var drApi = new GlobalBankCardAPI().CreateTransaction(user, sendTxn);
// dr.SetError(drApi.ErrorCode, drApi.Msg, drApi.Id);
// }
// }
// catch (Exception ex)
// {
// ApiUtility.LogResponse(id, ex.Message, "999", "Internal Error");
// dr.SetError("1", ex.Message, "");
// }
// return dr;
//}
private DataRow GetTxnDetail(string user, string id, bool reprocessMode)
{
var sql = "EXEC proc_ws_globalBankCard ";
if (reprocessMode)
sql += " @flag='txnDetail-rp'";
else
sql += " @flag='txnDetail'";
sql += ",@user=" + FilterString(user);
sql += ",@id=" + FilterString(id);
return ExecuteDataRow(sql);
}
private DbResult SendUpdate(string user, string rowId, string isKycApprove)
{
var sql = "EXEC proc_ws_globalBankCard ";
sql += " @flag='send'";
sql += ", @user = " + FilterString(user);
sql += ", @id = " + FilterString(rowId);
sql += ", @isKycApprove = " + FilterString(isKycApprove);
return ParseDbResult(sql);
}
private DbResult SendUnpaidUpdate(string user, string rowId, string isKycApprove)
{
var sql = "EXEC proc_ws_globalBankCard ";
sql += " @flag='send-unpaid'";
sql += ", @user = " + FilterString(user);
sql += ", @id = " + FilterString(rowId);
sql += ", @isKycApprove = " + FilterString(isKycApprove);
return ParseDbResult(sql);
}
#region Send Transaction -HO
public DataTable GetServiceChargeAdmin(string user, string sBranch, string tAmt)
{
var sql = "EXEC proc_ws_globalBankCardHo @flag = 'sc'";
sql += ", @tAmt = " + FilterString(tAmt);
sql += ", @sBranch = " + FilterString(sBranch);
sql += ", @user = " + FilterString(user);
var ds = ExecuteDataset(sql);
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
return null;
return ds.Tables[0];
}
//public DbResult CreateTransactionHo(string user, string id, string isKycApprove)
//{
// var row = GetTxnDetailHo(user, id);
// var dr = new DbResult();
// if (row == null)
// {
// dr.SetError("1", "Transaction not found", null);
// return dr;
// }
// if (isKycApprove == "N")
// {
// return SendUnpaidUpdateHo(user, id, isKycApprove);
// }
// dr = PushToApi(id, user, ref row, false);
// if (dr.ErrorCode != "0")
// {
// var sql = " EXEC proc_ws_globalBankCardHo";
// sql += " @flag = 'sendError'";
// sql += ", @user= " + FilterString(user);
// sql += ", @id= " + FilterString(id);
// sql += ", @payResponseCode = " + FilterString(dr.Extra);
// sql += ", @payResponseMsg = " + FilterString(dr.Msg);
// ParseDbResult(sql);
// return dr;
// }
// return SendUpdateHo(user, id, "Y");
//}
private DataRow GetTxnDetailHo(string user, string id)
{
var sql = "EXEC proc_ws_globalBankCardHo ";
sql += " @flag='txnDetail'";
sql += ",@user=" + FilterString(user);
sql += ",@id=" + FilterString(id);
return ExecuteDataRow(sql);
}
//public DbResult SendGlobalCardTxnHo(string user, GblBankCardTran tran)
//{
// var sql = "EXEC proc_ws_globalBankCardHo @flag = 'i'";
// sql += ", @user = " + FilterString(user);
// sql += ", @sBranch = " + FilterString(tran.SBranch);
// sql += ", @agentUniqueRefId = " + FilterString(tran.AgentRefId);
// sql += ", @sBranchName = " + FilterString(tran.SBranchName);
// sql += ", @remitCardNo = " + FilterString(tran.RemitCardNo);
// sql += ", @benefName = " + FilterString(tran.BenefName);
// sql += ", @benefAddress = " + FilterString(tran.BenefAddress);
// sql += ", @benefMobile = " + FilterString(tran.BenefMobile);
// sql += ", @benefIdType = " + FilterString(tran.BenefIdType);
// sql += ", @benefIdNo = " + FilterString(tran.BenefIdNo);
// sql += ", @senderName = " + FilterString(tran.SenderName);
// sql += ", @senderAddress = " + FilterString(tran.SenderAddress);
// sql += ", @senderMobile = " + FilterString(tran.SenderMobile);
// sql += ", @senderIdType = " + FilterString(tran.SenderIdType);
// sql += ", @senderIdNo = " + FilterString(tran.SenderIdNo);
// sql += ", @senderRemitCardNo = " + FilterString(tran.SenderRemitCardNo);
// sql += ", @tAmt = " + FilterString(tran.TransferAmount);
// sql += ", @serviceCharge = " + FilterString(tran.ServiceCharge);
// sql += ", @cAmt = " + FilterString(tran.CollectionAmount);
// sql += ", @pAmt = " + FilterString(tran.TransferAmount);
// sql += ", @purposeOfRemit = " + FilterString(tran.PurposeOfRemittance);
// sql += ", @sourceOfFund = " + FilterString(tran.SourceOfFund);
// sql += ", @remarks = " + FilterString(tran.Remarks);
// sql += ", @txtPass = " + FilterString(tran.TxtPass);
// sql += ", @sDcInfo = " + FilterString(tran.DcInfo);
// sql += ", @sIpAddress = " + FilterString(tran.IpAddress);
// return ParseDbResult(sql);
//}
private DbResult SendUnpaidUpdateHo(string user, string rowId, string isKycApprove)
{
var sql = "EXEC proc_ws_globalBankCardHo ";
sql += " @flag='send-unpaid'";
sql += ", @user = " + FilterString(user);
sql += ", @id = " + FilterString(rowId);
sql += ", @isKycApprove = " + FilterString(isKycApprove);
return ParseDbResult(sql);
}
private DbResult SendUpdateHo(string user, string rowId, string isKycApprove)
{
var sql = "EXEC proc_ws_globalBankCardHo ";
sql += " @flag='send'";
sql += ", @user = " + FilterString(user);
sql += ", @id = " + FilterString(rowId);
sql += ", @isKycApprove = " + FilterString(isKycApprove);
return ParseDbResult(sql);
}
#endregion Send Transaction -HO
//public DbResult ReProcessToApi(string user, string tranId)
//{
// var row = GetTxnInfoForReSendApi(user, tranId);
// var dr = new DbResult();
// if (row == null)
// {
// dr.SetError("1", "Transaction not found", null);
// return dr;
// }
// dr = PushToApi(tranId, user, ref row, false);
// if (dr.ErrorCode != "0")
// {
// var sql = " EXEC proc_ws_globalBankCardReSend";
// sql += " @flag = 'sendError'";
// sql += ", @user= " + FilterString(user);
// sql += ", @tranId= " + FilterString(tranId);
// sql += ", @payResponseCode = " + FilterString(dr.Extra);
// sql += ", @payResponseMsg = " + FilterString(dr.Msg);
// ParseDbResult(sql);
// return dr;
// }
// return SendUpdateReSend(user, tranId);
//}
private DataRow GetTxnInfoForReSendApi(string user, string id)
{
var sql = "EXEC proc_ws_globalBankCardReSend ";
sql += " @flag='txn-detail'";
sql += ",@user=" + FilterString(user);
sql += ",@tranId=" + FilterString(id);
return ExecuteDataRow(sql);
}
private DbResult SendUpdateReSend(string user, string rowId)
{
var sql = "EXEC proc_ws_globalBankCardReSend ";
sql += " @flag='send'";
sql += ", @user = " + FilterString(user);
sql += ", @tranId = " + FilterString(rowId);
return ParseDbResult(sql);
}
#region Partial Cash Load
public DataRow GetStarter(string user, string controlNo)
{
var sql = "EXEC proc_loadCashRemitCard @flag = 'ls'";
sql += ", @controlNo = " + FilterString(controlNo);
sql += ", @user = " + FilterString(user);
DataSet ds = ExecuteDataset(sql);
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
return null;
return ds.Tables[0].Rows[0];
}
//public DbResult SaveTxnHistory(string user, GblBankCardTran tran)
//{
// var sql = "EXEC proc_loadCashRemitCard @flag = 'sh'";
// sql += ", @user = " + FilterString(user);
// sql += ", @sBranch = " + FilterString(tran.SBranch);
// sql += ", @agentUniqueRefId = " + FilterString(tran.AgentRefId);
// sql += ", @sBranchName = " + FilterString(tran.SBranchName);
// sql += ", @remitCardNo = " + FilterString(tran.RemitCardNo);
// sql += ", @benefName = " + FilterString(tran.BenefName);
// sql += ", @benefAddress = " + FilterString(tran.BenefAddress);
// sql += ", @benefMobile = " + FilterString(tran.BenefMobile);
// sql += ", @benefIdType = " + FilterString(tran.BenefIdType);
// sql += ", @benefIdNo = " + FilterString(tran.BenefIdNo);
// sql += ", @senderName = " + FilterString(tran.SenderName);
// sql += ", @senderAddress = " + FilterString(tran.SenderAddress);
// sql += ", @senderMobile = " + FilterString(tran.SenderMobile);
// sql += ", @senderIdType = " + FilterString(tran.SenderIdType);
// sql += ", @senderIdNo = " + FilterString(tran.SenderIdNo);
// sql += ", @senderRemitCardNo = " + FilterString(tran.SenderRemitCardNo);
// sql += ", @tAmt = " + FilterString(tran.TransferAmount);
// sql += ", @serviceCharge = " + FilterString(tran.ServiceCharge);
// sql += ", @cAmt = " + FilterString(tran.CollectionAmount);
// sql += ", @pAmt = " + FilterString(tran.TransferAmount);
// sql += ", @purposeOfRemit = " + FilterString(tran.PurposeOfRemittance);
// sql += ", @sourceOfFund = " + FilterString(tran.SourceOfFund);
// sql += ", @remarks = " + FilterString(tran.Remarks);
// sql += ", @txtPass = " + FilterString(tran.TxtPass);
// sql += ", @sDcInfo = " + FilterString(tran.DcInfo);
// sql += ", @sIpAddress = " + FilterString(tran.IpAddress);
// sql += ", @refNo = " + FilterString(tran.RefNo);
// return ParseDbResult(sql);
//}
//public DbResult CreateTxn(string user, string id, string isKycApprove)
//{
// var row = GetTxnHistory(user, id);
// var dr = new DbResult();
// if (row == null)
// {
// dr.SetError("1", "Transaction not found", null);
// return dr;
// }
// if (isKycApprove == "N")
// {
// return SendUnpaid(user, id, isKycApprove);
// }
// dr = PushToApi(id, user, ref row, false); // API calling existing function
// if (dr.ErrorCode != "0")
// {
// var sql = " EXEC proc_loadCashRemitCard";
// sql += " @flag = 'ae'";
// sql += ", @user= " + FilterString(user);
// sql += ", @id= " + FilterString(id);
// sql += ", @payResponseCode = " + FilterString(dr.Extra);
// sql += ", @payResponseMsg = " + FilterString(dr.Msg);
// ParseDbResult(sql);
// return dr;
// }
// return SendPay(user, id, "Y");
//}
private DataRow GetTxnHistory(string user, string id)
{
var sql = "EXEC proc_loadCashRemitCard ";
sql += " @flag='td'";
sql += ",@user=" + FilterString(user);
sql += ",@id=" + FilterString(id);
return ExecuteDataRow(sql);
}
private DbResult SendUnpaid(string user, string rowId, string isKycApprove)
{
var sql = "EXEC proc_loadCashRemitCard ";
sql += " @flag='su'";
sql += ", @user = " + FilterString(user);
sql += ", @id = " + FilterString(rowId);
sql += ", @isKycApprove = " + FilterString(isKycApprove);
return ParseDbResult(sql);
}
private DbResult SendPay(string user, string rowId, string isKycApprove)
{
var sql = "EXEC proc_loadCashRemitCard ";
sql += " @flag='sp'";
sql += ", @user = " + FilterString(user);
sql += ", @id = " + FilterString(rowId);
sql += ", @isKycApprove = " + FilterString(isKycApprove);
return ParseDbResult(sql);
}
#endregion
}
}