using Swift.API.Common; using Swift.API.Common.SendTxn; using Swift.API.ThirdPartyApiServices; using Swift.DAL.SwiftDAL; using System; using System.Data; using System.Text; namespace Swift.DAL.BL.Remit.Transaction { public class ApproveTransactionDao : RemittanceDao { public DataSet SelectTransaction(string controlNo, string user) { string sql = "EXEC proc_approveTran @flag = 'details'"; sql += ", @user = " + FilterString(user); sql += ", @controlNo = " + FilterString(controlNo); DataSet ds = ExecuteDataset(sql); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) return null; return ds; } public DbResult ApproveV2(string user, string tranId, string controlNo, string agentRefId) { string sql = "EXEC proc_approveTranAPI_v2"; sql += " @flag = 'approve'"; sql += ", @user = " + FilterString(user); sql += ", @tranId = " + FilterString(tranId); sql += ", @controlNo = " + FilterString(controlNo); sql += ", @agentRefId = " + FilterString(agentRefId); return ParseDbResult(ExecuteDataset(sql).Tables[0]); } public string GetAvailableBalance(string user, string tranId) { var sql = "EXEC PROC_CUSTOMER_DEPOSITS @flag = 'available-balance'"; sql += ", @user = " + FilterString(user); sql += ", @tranId = " + FilterString(tranId); return GetSingleResult(sql); } public DataRow ApproveAPI(string user, string tranId, string controlNo, string agentRefId) { string sql = "EXEC proc_approveTranAPI"; sql += " @flag = 'approveAPI'"; sql += ", @user = " + FilterString(user); sql += ", @tranId = " + FilterString(tranId); sql += ", @controlNo = " + FilterString(controlNo); sql += ", @agentRefId = " + FilterString(agentRefId); 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 ApproveTranAPI(string user, string tranId, string controlNo, string agentRefId) { string sql = "EXEC proc_approveTranAPI"; sql += " @flag = 'approve'"; sql += ", @user = " + FilterString(user); sql += ", @tranId = " + FilterString(tranId); sql += ", @controlNo = " + FilterString(controlNo); sql += ", @agentRefId = " + FilterString(agentRefId); return ParseDbResult(ExecuteDataset(sql).Tables[0]); } public DbResult ApproveTran(string user, string tranId, string controlNo, string agentRefId) { string sql = "EXEC proc_approveTran"; sql += " @flag = 'approve'"; sql += ", @user = " + FilterString(user); sql += ", @tranId = " + FilterString(tranId); sql += ", @controlNo = " + FilterString(controlNo); sql += ", @agentRefId = " + FilterString(agentRefId); return ParseDbResult(ExecuteDataset(sql).Tables[0]); } public DbResult Reject(string user, string tranId, string remarks, string settlingAgentId) { var sql = "EXEC proc_ApproveHoldedTXN @flag = 'reject'"; sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(tranId); sql += ", @remarks = " + FilterString(remarks); sql += ", @settlingAgentId = " + FilterString(settlingAgentId); return ParseDbResult(sql); } public DbResult SyncTransaction(string user, string controlno) { var sql = "EXEC PROC_STATUS_CHANGE_AFTER_PAID_OR_CANCEL @flag = 'SYNC'"; sql += ", @user = " + FilterString(user); sql += ", @CONTROLNO = " + FilterString(controlno); return ParseDbResult(sql); } public DbResult ApproveMappingData(string user, string tranId, string customerId, string flag,string remmitTranTempId) { var sql = "EXEC PROC_CUSTOMER_DEPOSITS "; sql += "@flag = " + FilterString(flag); sql += ", @user = " + FilterString(user); sql += ", @tranId = " + FilterString(tranId); sql += ", @customerId = " + FilterString(customerId); sql += ", @remmitTranTempId = " + FilterString(remmitTranTempId); return ParseDbResult(sql); } public DbResult VerifyForApprove(string user, string controlNo, string cAmt) { string sql = "EXEC proc_approveTran @flag = 'va'"; sql += ", @user = " + FilterString(user); sql += ", @controlNo = " + FilterString(controlNo); sql += ", @cAmt = " + FilterString(cAmt); return ParseDbResult(ExecuteDataset(sql).Tables[0]); } public DbResult TranViewLog(string user, string tranId, string controlNo, string remarks, string tranViewType) { string sql = "EXEC proc_tranViewHistory"; sql += " @flag = 'i'"; sql += ", @user = " + FilterString(user); sql += ", @tranId = " + FilterString(tranId); sql += ", @controlNo = " + FilterString(controlNo); sql += ", @remarks = " + FilterString(remarks); sql += ", @tranViewType = " + FilterString(tranViewType); return ParseDbResult(ExecuteDataset(sql).Tables[0]); } public DataSet GetHoldedTXNList(string user, string branch, string id, string country, string sender, string receiver , string amt, string branchId, string userType, string flag, string txnDate, string txnUser, string ControlNo, string txnType) { string sql = "EXEC proc_ApproveHoldedTXN "; sql += " @flag = " + FilterString(flag); sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(id); sql += ", @branch = " + FilterString(branch); sql += ", @country = " + FilterString(country); sql += ", @sender = " + FilterString(sender); sql += ", @receiver = " + FilterString(receiver); sql += ", @amt = " + FilterString(amt); sql += ", @branchId = " + FilterString(branchId); sql += ", @userType = " + FilterString(userType); sql += ", @txnDate = " + FilterString(txnDate); sql += ", @txncreatedBy = " + FilterString(txnUser); sql += ", @ControlNo = " + FilterString(ControlNo); sql += ", @txnType = " + FilterString(txnType); return ExecuteDataset(sql); } public DataSet GetHoldedTXNListAgent(string user, string id, string country, string sender, string receiver , string amt, string branchId, string userType, string flag, string txnDate, string txnUser, string controlNo, string txnType, string sendCountry ,string settlingAgent) { string sql = "EXEC proc_ApproveHoldedTXN "; sql += " @flag = " + FilterString(flag); sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(id); sql += ", @country = " + FilterString(country); sql += ", @sender = " + FilterString(sender); sql += ", @receiver = " + FilterString(receiver); sql += ", @amt = " + FilterString(amt); sql += ", @branchId = " + FilterString(branchId); sql += ", @userType = " + FilterString(userType); sql += ", @txnDate = " + FilterString(txnDate); sql += ", @txncreatedBy = " + FilterString(txnUser); sql += ", @ControlNo = " + FilterString(controlNo); sql += ", @txnType = " + FilterString(txnType); sql += ", @sendCountry = " + FilterString(sendCountry); sql += ", @settlingAgentId = " + FilterString(settlingAgent); return ExecuteDataset(sql); } public DataSet GetHoldedTXNListAdmin(string user, string branch, string id, string country, string sender, string receiver , string amt, string branchId, string userType, string flag, string txnDate, string txnUser, string controlNo, string txnType, string sendCountry, string sendAgent, string sendBranch) { string sql = "EXEC proc_ApproveHoldedTXN "; sql += " @flag = " + FilterString(flag); sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(id); sql += ", @branch = " + FilterString(branch); sql += ", @country = " + FilterString(country); sql += ", @sender = " + FilterString(sender); sql += ", @receiver = " + FilterString(receiver); sql += ", @amt = " + FilterString(amt); sql += ", @branchId = " + FilterString(branchId); sql += ", @userType = " + FilterString(userType); sql += ", @txnDate = " + FilterString(txnDate); sql += ", @txncreatedBy = " + FilterString(txnUser); sql += ", @ControlNo = " + FilterString(controlNo); sql += ", @txnType = " + FilterString(txnType); sql += ", @sendCountry = " + FilterString(sendCountry); sql += ", @sendAgent = " + FilterString(sendAgent); sql += ", @sendBranch = " + FilterString(sendBranch); return ExecuteDataset(sql); } public DataSet GetHoldedTXNListAdminMobile(string user, string branch, string id, string country, string sender, string receiver , string amt, string branchId, string userType, string flag, string txnDate, string txnUser, string controlNo, string txnType, string sendCountry, string sendAgent, string sendBranch, string email) { string sql = "EXEC proc_ApproveHoldedTxnMobile "; sql += " @flag = " + FilterString(flag); sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(id); sql += ", @branch = " + FilterString(branch); sql += ", @country = " + FilterString(country); sql += ", @sender = " + FilterString(sender); sql += ", @receiver = " + FilterString(receiver); sql += ", @amt = " + FilterString(amt); sql += ", @branchId = " + FilterString(branchId); sql += ", @userType = " + FilterString(userType); sql += ", @txnDate = " + FilterString(txnDate); sql += ", @txncreatedBy = " + FilterString(txnUser); sql += ", @ControlNo = " + FilterString(controlNo); sql += ", @txnType = " + FilterString(txnType); sql += ", @sendCountry = " + FilterString(sendCountry); sql += ", @sendAgent = " + FilterString(sendAgent); sql += ", @sendBranch = " + FilterString(sendBranch); sql += ", @email = " + FilterString(email); return ExecuteDataset(sql); } public DataSet GetAllTxnDataForVerifyCreatedFromSendTabPage(string sAgent, string user) { string sql = "EXEC proc_ApproveHoldedTXN @flag = 'getTxnForVerify'"; sql += " ,@sendAgent=" + FilterString(sAgent); sql += " ,@user=" + FilterString(user); return ExecuteDataset(sql); } public DbResult VerifyTransaction(string tranId, string username) { String sql = "Exec proc_ApproveHoldedTXN @flag='verifyTxnSendFromTabPage'"; sql += ", @id=" + FilterString(tranId); sql += ", @user=" + FilterString(username); return ParseDbResult(sql); } public DbResult RejectHoldedTXN(string user, string id, string controlNO = "",string remarks = "") { var sql = "EXEC proc_ApproveHoldedTXN @flag = 'reject'"; sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(id); sql += ", @remarks = " + FilterString(remarks); sql += ", @ControlNo = " + FilterString(controlNO); return ParseDbResult(sql); } public DbResult ApproveHoldedTXN(string user, string id) { var sql = "EXEC proc_ApproveInwardHoldedTXN @flag = 'approve'"; sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(id); var drDb = ParseDbResult(sql); return drDb; } public DbResult GetTxnApproveData(string user, string id) { var sql = "EXEC proc_ApproveHoldedTXN @flag = 'get-info'"; sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(id); var drDb = ParseDbResult(sql); return drDb; } public DbResult GetTxnApproveDataIMEPay(string user, string id) { var sql = "EXEC proc_ApproveHoldedTXN @flag = 'get-info-imepay'"; sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(id); var drDb = ParseDbResultNew(sql); return drDb; } public DbResult GetTxnApproveDataForCancel(string user, string controlNo, string cancelReason) { var sql = "EXEC proc_ApproveHoldedTXN @flag = 'get-info-c-no'"; sql += ", @user = " + FilterString(user); sql += ", @controlNo = " + FilterString(controlNo); sql += ", @cancelReason = " + FilterString(cancelReason); var drDb = ParseDbResult(sql); return drDb; } public DbResult TxnCancelRequest(string user, string controlNo, string cancelReason) { var sql = "EXEC proc_ApproveHoldedTXN @flag = 'cancel-request'"; sql += ", @user = " + FilterString(user); sql += ", @controlNo = " + FilterString(controlNo); sql += ", @cancelReason = " + FilterString(cancelReason); var drDb = ParseDbResult(sql); return drDb; } public DbResult GetTxnApproveDataCompliance(string user, string id) { var sql = "EXEC proc_ApproveHoldedTXN @flag = 'get-info-for-compliance'"; sql += ", @user = " + FilterString(user); sql += ", @id = " + FilterString(id); var drDb = ParseDbResult(sql); return drDb; } public JsonResponse GetHoldedTxnForApprovedByAdmin(string user, string id, string sessionId, string callFro = null) { var sql = "EXEC proc_GetHoldedTxnForApprovedByAdmin"; sql += " @user = " + FilterString(user); sql += ", @tranId = " + FilterString(id); sql += ", @callFro = " + FilterString(callFro); var drDb = ExecuteDataRow(sql); if (drDb.Table.Columns.Contains("ErrorCode")) { return new JsonResponse() { ResponseCode = Convert.ToString(drDb["ErrorCode"]), Msg = Convert.ToString(drDb["msg"]) }; } string ProcessId = Guid.NewGuid().ToString().Replace("-", "") + ":" + Convert.ToString(drDb["processId"]) + ":sendTxn"; SendTransactionRequest sendTxnRequest = new SendTransactionRequest(); sendTxnRequest.UserName = user; sendTxnRequest.ProcessId = ProcessId.Substring(ProcessId.Length - 40, 40); sendTxnRequest.ProviderId = Convert.ToString(drDb["partnerId"]); sendTxnRequest.TranId = Convert.ToInt32(drDb["tranId"]); if (drDb.Table.Columns.Contains("IsRealtime")) { sendTxnRequest.IsRealtime = (drDb["IsRealtime"].ToString() == "Y" ? true : false); } else { sendTxnRequest.IsRealtime = false; } #region senderInformation TxnSender txnSender = new TxnSender(); txnSender.CustomerId = Convert.ToInt32(drDb["customerId"]); txnSender.SFirstName = Convert.ToString(drDb["sfirstName"]); txnSender.SMiddleName = Convert.ToString(drDb["smiddleName"]); txnSender.SLastName1 = Convert.ToString(drDb["slastName1"]); txnSender.SLastName2 = Convert.ToString(drDb["slastName2"]); txnSender.SFullName = Convert.ToString(drDb["sfullName"]); txnSender.SIdIssueDate = Convert.ToString(drDb["sissuedDate"]); txnSender.SIdExpiryDate = Convert.ToString(drDb["svalidDate"]); txnSender.SOccuptionId = Convert.ToInt32(drDb["occupationId"]); txnSender.SOccuptionName = Convert.ToString(drDb["occupationName"]); txnSender.SBirthDate = Convert.ToString(drDb["sdob"]); txnSender.SEmail = string.IsNullOrEmpty(drDb["semail"].ToString()) ? null : Convert.ToString(drDb["semail"]); txnSender.SCityId = Convert.ToString(drDb["scity"]); if (drDb.Table.Columns.Contains("sstate")) { txnSender.SState = Convert.ToString(drDb["sstate"]); } if (drDb.Table.Columns.Contains("formOfPaymentId")) { txnSender.FormOfPaymentId = Convert.ToString(drDb["formOfPaymentId"]); } txnSender.SZipCode = Convert.ToString(drDb["szipCode"]); txnSender.SNativeCountry = Convert.ToString(drDb["snativeCountry"]); txnSender.SIdType = Convert.ToString(drDb["sidType"]); txnSender.SIdNo = Convert.ToString(drDb["sidNumber"]); txnSender.SMobile = Convert.ToString(drDb["smobile"]); txnSender.SAddress = Convert.ToString(drDb["saddress"]); txnSender.SIpAddress = Convert.ToString(drDb["ipAddress"]); txnSender.SCountryId = Convert.ToInt32(drDb["countryId"]); txnSender.SCountryName = Convert.ToString(drDb["sCountry"]); if (drDb.Table.Columns.Contains("IsIndividual")) { txnSender.IsIndividual = Convert.ToBoolean(drDb["IsIndividual"]); } txnSender.SourceOfFund = Convert.ToString(drDb["sourceOfFund"]); sendTxnRequest.Sender = txnSender; #endregion senderInformation #region receiverInformation TxnReceiver txnReceiver = new TxnReceiver(); txnReceiver.ReceiverId = Convert.ToString(drDb["receiverId"]); txnReceiver.RFullName = Convert.ToString(drDb["rfullName"]); txnReceiver.RFirstName = Convert.ToString(drDb["rfirstName"]); txnReceiver.RMiddleName = Convert.ToString(drDb["rmiddleName"]); txnReceiver.RLastName = Convert.ToString(drDb["rlastName1"]); txnReceiver.RIdType = Convert.ToString(drDb["ridType"]); txnReceiver.RIdNo = Convert.ToString(drDb["ridNumber"]); txnReceiver.RIdValidDate = Convert.ToString(drDb["rvalidDate"]); txnReceiver.RDob = Convert.ToString(drDb["rdob"]); txnReceiver.RTel = Convert.ToString(drDb["rhomePhone"]); txnReceiver.RMobile = Convert.ToString(drDb["rmobile"]); txnReceiver.RNativeCountry = Convert.ToString(drDb["rnativeCountry"]); txnReceiver.RCity = Convert.ToString(drDb["rcity"]); txnReceiver.RAdd1 = Convert.ToString(drDb["raddress"]); txnReceiver.REmail = string.IsNullOrEmpty(drDb["remail"].ToString()) ? null : Convert.ToString(drDb["remail"]); txnReceiver.RAccountNo = Convert.ToString(drDb["raccountNo"]); txnReceiver.RCountry = Convert.ToString(drDb["rcountry"]); txnReceiver.RCityCode = Convert.ToString(drDb["rcityCode"]); txnReceiver.RelWithSenderName = Convert.ToString(drDb["relationName"]); txnReceiver.RStateId = Convert.ToString(drDb["rstate"]); txnReceiver.RLocation = Convert.ToString(drDb["pBankLocation"]); txnReceiver.UnitaryBankAccountNo = Convert.ToString(drDb["bankAccountNo"]); if (drDb.Table.Columns.Contains("rTownCode")) { txnReceiver.RLocation = Convert.ToString(drDb["rTownCode"]); } if (drDb.Table.Columns.Contains("payerId")) { txnReceiver.RLocationName = Convert.ToString(drDb["payerId"]); } sendTxnRequest.Receiver = txnReceiver; #endregion receiverInformation #region txnTransaction TxnTransaction transaction = new TxnTransaction(); transaction.PCurr = Convert.ToString(drDb["payoutCurr"]); transaction.CollCurr = Convert.ToString(drDb["collCurr"]); transaction.CAmt = Convert.ToDecimal(drDb["cAmt"]); transaction.PAmt = Convert.ToDecimal(drDb["pAmt"]); transaction.TAmt = Convert.ToDecimal(drDb["tAmt"]); transaction.ServiceCharge = Convert.ToDecimal(drDb["serviceCharge"]); transaction.PComm = Convert.ToString(drDb["pAgentComm"]); transaction.PaymentType = Convert.ToString(drDb["paymentMethod"]); transaction.JMEControlNo = Convert.ToString(drDb["controlNo"]); transaction.PurposeOfRemittanceName = Convert.ToString(drDb["purposeOfRemit"]); if (drDb.Table.Columns.Contains("txnDate")) { transaction.TxnDate = Convert.ToString(drDb["txnDate"]); } if (drDb.Table.Columns.Contains("ssnno")) { transaction.TpRefNo = Convert.ToString(drDb["ssnno"]); } if (drDb.Table.Columns.Contains("exRate")) { transaction.ExRate = Convert.ToDecimal(drDb["exRate"]); } if (drDb.Table.Columns.Contains("Rate")) { transaction.Rate = Convert.ToDecimal(drDb["Rate"]); } transaction.PayoutMsg = Convert.ToString(drDb["remarks"]); sendTxnRequest.Transaction = transaction; #endregion txnTransaction #region agentInformation TxnAgent txnAgent = new TxnAgent(); txnAgent.PBranchId = Convert.ToString(drDb["branchId"]); txnAgent.PBranchName = Convert.ToString(drDb["branchName"]); txnAgent.PBranchCity = Convert.ToString(drDb["city"]); txnAgent.PAgentId = Convert.ToInt32(drDb["pAgent"]); txnAgent.PAgentName = Convert.ToString(drDb["pAgentName"]); txnAgent.PBankType = Convert.ToString(drDb["pBankType"]); txnAgent.PBankId = Convert.ToString(drDb["pBank"]); txnAgent.PBankName = Convert.ToString(drDb["pBankName"]); txnAgent.SAgentId = Convert.ToInt32(drDb["sAgent"]); txnAgent.SAgentName = Convert.ToString(drDb["sAgentName"]); txnAgent.SSuperAgentId = Convert.ToInt32(drDb["sSuperAgent"]); if (drDb.Table.Columns.Contains("pBankBranchId")) { txnAgent.PBankBranchId = Convert.ToString(drDb["pBankBranchId"]); } txnAgent.SBranchId = Convert.ToInt32(drDb["sBranch"]); if (drDb.Table.Columns.Contains("pBankBranchName")) { txnAgent.PBankBranchName = Convert.ToString(drDb["pBankBranchName"]); } sendTxnRequest.Agent = txnAgent; #endregion agentInformation if (drDb.Table.Columns.Contains("isFirstTran")) { sendTxnRequest.isTxnAlreadyCreated = Convert.ToString(drDb["isFirstTran"]) == "Y" ? true : false; } else { sendTxnRequest.isTxnAlreadyCreated = true; } sendTxnRequest.IsRealtime = Convert.ToBoolean(drDb["IsRealtime"]); sendTxnRequest.SessionId = Convert.ToString(Guid.NewGuid()).Replace("-", ""); if (string.IsNullOrEmpty(sendTxnRequest.SessionId) || string.IsNullOrWhiteSpace(sendTxnRequest.SessionId)) sendTxnRequest.SessionId = sessionId; SendTransactionServices _tpSend = new SendTransactionServices(); var result = _tpSend.SendTransaction(sendTxnRequest); sql = ""; sql = "EXEC proc_tran_api_call_history "; sql += " @TRAN_ID =" + FilterString(sendTxnRequest.TranId.ToString()); sql += ", @REQUESTED_BY =" + FilterString(user); sql += ", @RESPONSE_CODE =" + FilterString(result.ResponseCode); sql += ", @RESPONSE_MSG =" + FilterString(result.Msg); GetSingleResult(sql); return result; } public JsonResponse GetHoldedTxnForApprovedByAdminCompliance(string user, string id, string sessionId, string callFro = null) { var sql = "EXEC proc_GetHoldedTxnForApprovedByAdminCompliance"; sql += " @user = " + FilterString(user); sql += ", @tranId = " + FilterString(id); sql += ", @callFro = " + FilterString(callFro); var drDb = ExecuteDataRow(sql); if (drDb.Table.Columns.Contains("ErrorCode")) { return new JsonResponse() { ResponseCode = Convert.ToString(drDb["ErrorCode"]), Msg = Convert.ToString(drDb["msg"]) }; } SendTransactionRequest sendTxnRequest = new SendTransactionRequest(); sendTxnRequest.UserName = user; sendTxnRequest.ProviderId = Convert.ToString(drDb["partnerId"]); sendTxnRequest.TranId = Convert.ToInt32(drDb["tranId"]); if (drDb.Table.Columns.Contains("IsRealtime")) { sendTxnRequest.IsRealtime = (drDb["IsRealtime"].ToString() == "Y" ? true : false); } else { sendTxnRequest.IsRealtime = false; } #region senderInformation TxnSender txnSender = new TxnSender(); txnSender.CustomerId = Convert.ToInt32(drDb["customerId"]); txnSender.SFirstName = Convert.ToString(drDb["sfirstName"]); txnSender.SMiddleName = Convert.ToString(drDb["smiddleName"]); txnSender.SLastName1 = Convert.ToString(drDb["slastName1"]); txnSender.SLastName2 = Convert.ToString(drDb["slastName2"]); txnSender.SFullName = Convert.ToString(drDb["sfullName"]); txnSender.SIdIssueDate = Convert.ToString(drDb["sissuedDate"]); txnSender.SIdExpiryDate = Convert.ToString(drDb["svalidDate"]); txnSender.SOccuptionId = Convert.ToInt32(drDb["occupationId"]); txnSender.SOccuptionName = Convert.ToString(drDb["occupationName"]); txnSender.SBirthDate = Convert.ToString(drDb["sdob"]); txnSender.SEmail = string.IsNullOrEmpty(drDb["semail"].ToString()) ? null : Convert.ToString(drDb["semail"]); txnSender.SCityId = Convert.ToString(drDb["scity"]); if (drDb.Table.Columns.Contains("sstate")) { txnSender.SState = Convert.ToString(drDb["sstate"]); } if (drDb.Table.Columns.Contains("formOfPaymentId")) { txnSender.FormOfPaymentId = Convert.ToString(drDb["formOfPaymentId"]); } txnSender.SZipCode = Convert.ToString(drDb["szipCode"]); txnSender.SNativeCountry = Convert.ToString(drDb["snativeCountry"]); txnSender.SIdType = Convert.ToString(drDb["sidType"]); txnSender.SIdNo = Convert.ToString(drDb["sidNumber"]); txnSender.SMobile = Convert.ToString(drDb["smobile"]); txnSender.SAddress = Convert.ToString(drDb["saddress"]); txnSender.SIpAddress = Convert.ToString(drDb["ipAddress"]); txnSender.SCountryId = Convert.ToInt32(drDb["countryId"]); txnSender.SCountryName = Convert.ToString(drDb["sCountry"]); if (drDb.Table.Columns.Contains("IsIndividual")) { txnSender.IsIndividual = Convert.ToBoolean(drDb["IsIndividual"]); } txnSender.SourceOfFund = Convert.ToString(drDb["sourceOfFund"]); if (drDb.Table.Columns.Contains("gender")) { txnSender.SGender = Convert.ToString(drDb["gender"]); } sendTxnRequest.Sender = txnSender; #endregion senderInformation #region receiverInformation TxnReceiver txnReceiver = new TxnReceiver(); txnReceiver.ReceiverId = Convert.ToString(drDb["receiverId"]); txnReceiver.RFullName = Convert.ToString(drDb["rfullName"]); txnReceiver.RFirstName = Convert.ToString(drDb["rfirstName"]); txnReceiver.RMiddleName = Convert.ToString(drDb["rmiddleName"]); txnReceiver.RLastName = Convert.ToString(drDb["rlastName1"]); txnReceiver.RIdType = Convert.ToString(drDb["ridType"]); txnReceiver.RIdNo = Convert.ToString(drDb["ridNumber"]); txnReceiver.RIdValidDate = Convert.ToString(drDb["rvalidDate"]); txnReceiver.RDob = Convert.ToString(drDb["rdob"]); txnReceiver.RTel = Convert.ToString(drDb["rhomePhone"]); txnReceiver.RMobile = Convert.ToString(drDb["rmobile"]); txnReceiver.RNativeCountry = Convert.ToString(drDb["rnativeCountry"]); txnReceiver.RCity = Convert.ToString(drDb["rcity"]); txnReceiver.RAdd1 = Convert.ToString(drDb["raddress"]); txnReceiver.REmail = Convert.ToString(drDb["remail"]); txnReceiver.RAccountNo = Convert.ToString(drDb["raccountNo"]); txnReceiver.RCountry = Convert.ToString(drDb["rcountry"]); txnReceiver.RCityCode = Convert.ToString(drDb["rcityCode"]); txnReceiver.RelWithSenderName = Convert.ToString(drDb["relationName"]); txnReceiver.RStateId = Convert.ToString(drDb["rstate"]); txnReceiver.RLocation = Convert.ToString(drDb["pBankLocation"]); txnReceiver.UnitaryBankAccountNo = Convert.ToString(drDb["bankAccountNo"]); if (drDb.Table.Columns.Contains("rTownCode")) { txnReceiver.RLocation = Convert.ToString(drDb["rTownCode"]); } if (drDb.Table.Columns.Contains("payerId")) { txnReceiver.RLocationName = Convert.ToString(drDb["payerId"]); } sendTxnRequest.Receiver = txnReceiver; #endregion receiverInformation #region txnTransaction TxnTransaction transaction = new TxnTransaction(); transaction.PCurr = Convert.ToString(drDb["payoutCurr"]); transaction.CollCurr = Convert.ToString(drDb["collCurr"]); transaction.CAmt = Convert.ToDecimal(drDb["cAmt"]); transaction.PAmt = Convert.ToDecimal(drDb["pAmt"]); transaction.TAmt = Convert.ToDecimal(drDb["tAmt"]); transaction.ServiceCharge = Convert.ToDecimal(drDb["serviceCharge"]); transaction.PComm = Convert.ToString(drDb["pAgentComm"]); transaction.PaymentType = Convert.ToString(drDb["paymentMethod"]); transaction.JMEControlNo = Convert.ToString(drDb["controlNo"]); transaction.PurposeOfRemittanceName = Convert.ToString(drDb["purposeOfRemit"]); if (drDb.Table.Columns.Contains("txnDate")) { transaction.TxnDate = Convert.ToString(drDb["txnDate"]); } if (drDb.Table.Columns.Contains("ssnno")) { transaction.TpRefNo = Convert.ToString(drDb["ssnno"]); } if (drDb.Table.Columns.Contains("exRate")) { transaction.ExRate = Convert.ToDecimal(drDb["exRate"]); } if (drDb.Table.Columns.Contains("Rate")) { transaction.Rate = Convert.ToDecimal(drDb["Rate"]); } transaction.PayoutMsg = Convert.ToString(drDb["remarks"]); sendTxnRequest.Transaction = transaction; #endregion txnTransaction #region agentInformation TxnAgent txnAgent = new TxnAgent(); txnAgent.PBranchId = Convert.ToString(drDb["branchId"]); txnAgent.PBranchName = Convert.ToString(drDb["branchName"]); txnAgent.PBranchCity = Convert.ToString(drDb["city"]); txnAgent.PAgentId = Convert.ToInt32(drDb["pAgent"]); txnAgent.PAgentName = Convert.ToString(drDb["pAgentName"]); txnAgent.PBankType = Convert.ToString(drDb["pBankType"]); txnAgent.PBankId = Convert.ToString(drDb["pBank"]); txnAgent.PBankName = Convert.ToString(drDb["pBankName"]); txnAgent.SAgentId = Convert.ToInt32(drDb["sAgent"]); txnAgent.SAgentName = Convert.ToString(drDb["sAgentName"]); txnAgent.SSuperAgentId = Convert.ToInt32(drDb["sSuperAgent"]); if (drDb.Table.Columns.Contains("pBankBranchId")) { txnAgent.PBankBranchId = Convert.ToString(drDb["pBankBranchId"]); } txnAgent.SBranchId = Convert.ToInt32(drDb["sBranch"]); if (drDb.Table.Columns.Contains("pBankBranchName")) { txnAgent.PBankBranchName = Convert.ToString(drDb["pBankBranchName"]); } sendTxnRequest.Agent = txnAgent; #endregion agentInformation if (drDb.Table.Columns.Contains("isFirstTran")) { sendTxnRequest.isTxnAlreadyCreated = Convert.ToString(drDb["isFirstTran"]) == "Y" ? true : false; } else { sendTxnRequest.isTxnAlreadyCreated = true; } sendTxnRequest.IsRealtime = Convert.ToBoolean(drDb["IsRealtime"]); sendTxnRequest.SessionId = Convert.ToString(Guid.NewGuid()).Replace("-", ""); if (string.IsNullOrEmpty(sendTxnRequest.SessionId) || string.IsNullOrWhiteSpace(sendTxnRequest.SessionId)) sendTxnRequest.SessionId = sessionId; SendTransactionServices _tpSend = new SendTransactionServices(); var result = _tpSend.SendTransaction(sendTxnRequest); sql = ""; sql = "EXEC proc_tran_api_call_history "; sql += " @TRAN_ID =" + FilterString(sendTxnRequest.TranId.ToString()); sql += ", @REQUESTED_BY =" + FilterString(user); sql += ", @RESPONSE_CODE =" + FilterString(result.ResponseCode); sql += ", @RESPONSE_MSG =" + FilterString(result.Msg); GetSingleResult(sql); return result; } public DbResult ApproveAllHoldedTXN(string user, string idList) { var sb = new StringBuilder(""); var list = idList.Split(','); foreach (var itm in list) { sb.Append(""); } sb.Append(""); var sql = "EXEC proc_ApproveHoldedTXN @flag = 'approve-all'"; sql += ", @user = " + FilterString(user); sql += ", @idList = " + FilterString(sb.ToString()); return ParseDbResult(sql); } public DataSet GetHoldTransactionSummary(string user, string branchId, string userType) { string sql = "EXEC proc_ApproveHoldedTXN "; sql += " @flag = 's_txn_summary'"; sql += ", @user = " + FilterString(user); sql += ", @branchId = " + FilterString(branchId); sql += ", @userType = " + FilterString(userType); return ExecuteDataset(sql); } public DataSet GetHoldAdminTransactionSummary(string user, string branchId, string userType) { string sql = "EXEC proc_ApproveHoldedTXN "; sql += " @flag = 's_admin_txn_summary'"; sql += ", @user = " + FilterString(user); sql += ", @branchId = " + FilterString(branchId); sql += ", @userType = " + FilterString(userType); return ExecuteDataset(sql); } public DataSet GetHoldAdminTransactionSummaryOnline(string user, string branchId, string userType) { string sql = "EXEC proc_ApproveHoldedTXN "; sql += " @flag = 'OnlineTxn-waitingList'"; sql += ", @user = " + FilterString(user); sql += ", @branchId = " + FilterString(branchId); sql += ", @userType = " + FilterString(userType); return ExecuteDataset(sql); } public DbResult ReprocessBySchedular(string count, string agentCode, string user, string pass) { var dr = new DbResult(); var sql = "EXEC proc_transactionUtility @flag = 'rpid'"; sql += ", @count = " + FilterString(count); sql += ", @agentCode = " + FilterString(agentCode); sql += ", @user = " + FilterString(user); sql += ", @pass = " + FilterString(pass); var dt = ExecuteDataTable(sql); var cnt = 0; foreach (DataRow row in dt.Rows) { try { //Reprocess(user, row["Id"].ToString(), row["processId"].ToString()); cnt++; } catch { } } dr.SetError("0", cnt + " Transactions Processed Successfully.", ""); return dr; } //public DbResult Reprocess(string user, string id, string processId = "") //{ // return new GlobalBankDao().Reprocess(user, id, processId); //} #region approve transaction domestic public DataSet GetHoldTxnSummaryDomestic(string user) { string sql = "EXEC proc_approveHoldTranDomestic "; sql += " @flag = 'summary'"; sql += ", @user = " + FilterString(user); return ExecuteDataset(sql); } public DataSet GetHoldTxnDetailDomestic(string user, string sAgent, string sender, string receiver , string controlNo, string amt, string txnDate, string txnUser) { string sql = "EXEC proc_approveHoldTranDomestic @flag = 'detail'"; sql += ", @user = " + FilterString(user); sql += ", @sAgent = " + FilterString(sAgent); sql += ", @controlNo = " + FilterString(controlNo); sql += ", @sender = " + FilterString(sender); sql += ", @receiver = " + FilterString(receiver); sql += ", @amt = " + FilterString(amt); sql += ", @txnDate = " + FilterString(txnDate); sql += ", @txnUser = " + FilterString(txnUser); return ExecuteDataset(sql); } public DbResult ApproveSingleDom(string user, string tranId) { var sql = "EXEC proc_approveHoldTranDomestic @flag = 'approve'"; sql += ", @user = " + FilterString(user); sql += ", @tranId = " + FilterString(tranId); var drDb = ParseDbResult(sql); return drDb; } #endregion approve transaction domestic public DataTable GetMailDetails(string user) { var sql = "EXEC proc_getEmailSendDetails @flag = 'get'"; sql += ", @user = " + FilterString(user); return ExecuteDataTable(sql); } public DataTable ErrorEmail(string user, string rowId) { var sql = "EXEC proc_getEmailSendDetails @flag = 'error'"; sql += ", @user = " + FilterString(user); sql += ", @rowId = " + FilterString(rowId); return ExecuteDataTable(sql); } public DbResult UpdateSyncTxnById(string user, string id) { var sql = "EXEC PROC_TP_TXN_PUSH @flag = 'INSTANT-PAID_V2'"; sql += ", @user = " + FilterString(user); sql += ", @TRAN_ID = " + FilterString(id); var drDb = ParseDbResult(sql); return drDb; } } }