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.
2096 lines
94 KiB
2096 lines
94 KiB
using Newtonsoft.Json;
|
|
using Swift.API.Common;
|
|
using Swift.API.Common.Cancel;
|
|
using Swift.API.Common.Enum;
|
|
using Swift.API.ThirdPartyApiServices;
|
|
using Swift.API.TPAPIs;
|
|
using Swift.DAL.BL.Remit.Transaction;
|
|
using Swift.DAL.BL.System.GeneralSettings;
|
|
using Swift.DAL.OnlineAgent;
|
|
using Swift.DAL.SwiftDAL;
|
|
using Swift.web.Component.Grid;
|
|
using Swift.web.Component.Grid.gridHelper;
|
|
using Swift.web.Library;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
using System.Threading.Tasks;
|
|
using System.Web;
|
|
using System.Web.Script.Serialization;
|
|
using System.Web.UI.HtmlControls;
|
|
|
|
namespace Swift.web.Remit.UserControl
|
|
{
|
|
public partial class UcTransaction : System.Web.UI.UserControl
|
|
{
|
|
private readonly DbResult msgDb = new DbResult();
|
|
private RemittanceLibrary rl = new RemittanceLibrary();
|
|
private SmtpMailSetting smtpMailSetting = new SmtpMailSetting();
|
|
private readonly SmtpMailSetting _mailToAgent = new SmtpMailSetting();
|
|
private ApproveTransactionDao at = new ApproveTransactionDao();
|
|
private TranViewDao obj = new TranViewDao();
|
|
private readonly StaticDataDdl _sdd = new StaticDataDdl();
|
|
private const string ModifyPayoutLocationId = "20121520";
|
|
private const string ModifyPayoutLocationIdAg = "40101730";
|
|
private readonly SwiftGrid _grid = new SwiftGrid();
|
|
OnlineCustomerDao _cd = new OnlineCustomerDao();
|
|
public bool ShowDetailBlock { get; set; }
|
|
public bool ShowLogBlock { get; set; }
|
|
public bool ShowCommentBlock { get; set; }
|
|
public bool ShowBankDetail { get; set; }
|
|
public bool ShowOfac { get; set; }
|
|
public bool ShowCompliance { get; set; }
|
|
public bool ShowApproveButton { get; set; }
|
|
public bool ShowDocDetails { get; set; }
|
|
|
|
public string TranNo
|
|
{
|
|
get { return hddTranId.Value; }
|
|
set { hddTranId.Value = value; }
|
|
}
|
|
|
|
public string CtrlNo
|
|
{
|
|
get { return lblControlNo.Text; }
|
|
set { lblControlNo.Text = value; }
|
|
}
|
|
|
|
public string PayTokenId
|
|
{
|
|
get { return hddPayTokenId.Value; }
|
|
set { hddPayTokenId.Value = value; }
|
|
}
|
|
|
|
public string TranStatus
|
|
{
|
|
get { return tranStatus.Text; }
|
|
set { tranStatus.Text = value; }
|
|
}
|
|
|
|
public string PayStatus
|
|
{
|
|
get { return payStatus.Text; }
|
|
set { payStatus.Text = value; }
|
|
}
|
|
|
|
public string ModeOfPayment
|
|
{
|
|
get { return modeOfPayment.Text; }
|
|
set { modeOfPayment.Text = value; }
|
|
}
|
|
|
|
public string CreatedBy
|
|
{
|
|
get { return createdBy.Text; }
|
|
set { createdBy.Text = value; }
|
|
}
|
|
|
|
public string ApprovedBy
|
|
{
|
|
get { return approvedBy.Text; }
|
|
set { approvedBy.Text = value; }
|
|
}
|
|
|
|
public string PaidBy
|
|
{
|
|
get { return paidBy.Text; }
|
|
set { paidBy.Text = value; }
|
|
}
|
|
|
|
public string CancelRequestedBy
|
|
{
|
|
get { return cancelRequestedBy.Text; }
|
|
set { cancelRequestedBy.Text = value; }
|
|
}
|
|
|
|
public string CancelApprovedBy
|
|
{
|
|
get { return cancelApprovedBy.Text; }
|
|
set { cancelApprovedBy.Text = value; }
|
|
}
|
|
|
|
public string trnStatusBeforeCnlReq
|
|
{
|
|
get { return hddTrnSatusBeforeCnlReq.Value; }
|
|
set { hddTrnSatusBeforeCnlReq.Value = value; }
|
|
}
|
|
|
|
public string PAgent
|
|
{
|
|
get { return pAgent.Value; }
|
|
set { pAgent.Value = value; }
|
|
}
|
|
|
|
//public string LockTranSaction
|
|
//{
|
|
// get { return lockTranSaction.Text; }
|
|
// set { lockTranSaction.Text = value; }
|
|
//}
|
|
|
|
public bool TranFound { get; set; }
|
|
public string HoldTranId { get; set; }
|
|
public string isFromApprove { get; set; }
|
|
public string isFromApproveTxn { get; set; }
|
|
|
|
public void SearchData(string tranNo, string ctrlNo, string mode, string lockMode, string displayType = null)
|
|
{
|
|
SearchData(tranNo, ctrlNo, mode, lockMode, "SEARCH", "ADM:SEARCH TXN", false, displayType);
|
|
}
|
|
|
|
public void SearchData(string tranNo, string ctrlNo, string mode, string lockMode, string viewType, string viewMsg, bool isArchive = false, string displayType = null)
|
|
{
|
|
//pnlShowBankDetail.Visible = ShowBankDetail;
|
|
tranNoName.Text = GetStatic.GetTranNoName();
|
|
TranNo = tranNo;
|
|
CtrlNo = ctrlNo;
|
|
TranFound = false;
|
|
|
|
|
|
|
|
DataSet ds = null;
|
|
if (isArchive)
|
|
{
|
|
//var obj = new ArchiveReportsDao();
|
|
//ds = obj.SelectTransaction(GetStatic.GetUser(), ctrlNo, TranNo, lockMode, viewType, viewMsg);
|
|
}
|
|
else
|
|
{
|
|
var obj = new TranViewDao();
|
|
ds = obj.SelectTransaction(GetStatic.GetUser(), ctrlNo, TranNo, lockMode, viewType, viewMsg);
|
|
}
|
|
|
|
if (ds == null)
|
|
{
|
|
rl.ManageInvalidControlNoAttempt(Page, GetStatic.GetUser(), "N");
|
|
return;
|
|
}
|
|
if (ds.Tables.Count > 1)
|
|
{
|
|
if (displayType == "cancelpartner")
|
|
{
|
|
upnl1.Visible = false;
|
|
PanelDocumentUpload.Visible = false;
|
|
PanelQuestionnaire.Visible = false;
|
|
}
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
var tRow = ds.Tables[0].Rows[0];
|
|
customerSignatureImg.ImageUrl = "/Remit/Transaction/TxnDocView/TxnDocView.ashx?txnDate=" + tRow["createdDate"].ToString() + "&controlNo=" + tRow["controlNo"].ToString();
|
|
|
|
hdnCustomerId.Value = tRow["sCustomerId"].ToString();
|
|
hdnRegisterDate.Value = tRow["registerDate"].ToString();
|
|
hdnMembershipId.Value = tRow["uniqueId"].ToString();
|
|
|
|
TranFound = true;
|
|
HoldTranId = tRow["holdTranId"].ToString();
|
|
ShowQuestionaireLink(HoldTranId, displayType, viewType);
|
|
rl.ManageInvalidControlNoAttempt(Page, GetStatic.GetUser(), "Y");
|
|
lblControlNo.Text = tRow["controlNo"].ToString();
|
|
lblTranNo.Text = tRow["tranId"].ToString();
|
|
hddTranId.Value = tRow["tranId"].ToString();
|
|
isRealTime.Value = tRow["isRealTime"].ToString();
|
|
// pnlExRate.Visible = false;
|
|
if (tRow["extCustomerId"].ToString() == "")
|
|
sCId.Visible = false;
|
|
else
|
|
sCustomerId.Text = tRow["extCustomerId"].ToString();
|
|
if (tRow["sMemId"].ToString() == "")
|
|
sDisMemId.Visible = false;
|
|
else
|
|
{
|
|
sDisMemId.Visible = true;
|
|
sMemId.Text = tRow["sMemId"].ToString();
|
|
}
|
|
|
|
if (tRow["rMemId"].ToString() == "")
|
|
rDisMemId.Visible = false;
|
|
else
|
|
{
|
|
rDisMemId.Visible = true;
|
|
rMemId.Text = tRow["rMemId"].ToString();
|
|
}
|
|
|
|
hdnCustomerId.Value = tRow["sCustomerId"].ToString();
|
|
|
|
if (tRow["tranStatus"].ToString().ToUpper() == "CANCEL")
|
|
{
|
|
showHideTranStatus.Visible = true;
|
|
highLightTranStatus.InnerText = "CANCELLED Transaction";
|
|
}
|
|
if (tRow["tranStatus"].ToString().ToUpper() == "LOCK")
|
|
{
|
|
lockAudit.Visible = true;
|
|
var html = new StringBuilder("Locked By ");
|
|
html.Append(tRow["lockedBy"] + " on " + tRow["lockedDate"]);
|
|
lockAudit.InnerHtml = html.ToString();
|
|
}
|
|
|
|
if (mode == "u") // mode: modification transaction
|
|
{
|
|
//sName.Text = GetLinkTextForModification("Sender Name", "senderName", tRow);
|
|
//sName.Text = GetLinkTextForModification("Sender Name", "senderName", tRow);
|
|
//sAddress.Text = GetLinkTextForModification("Sender Address", "sAddress", tRow);
|
|
//sContactNo.Text = GetLinkTextForModification("Sender Contact No", "sContactNo", tRow);
|
|
//sIdType.Text = GetLinkTextForModification("Sender Id Type", "sIdType", tRow);
|
|
//sIdNo.Text = GetLinkTextForModification("Sender Id No", "sIdNo", tRow);
|
|
if (tRow["pAgent"].ToString() == "394428" && tRow["paymentMethod"].ToString().ToUpper() == "CASH PAYMENT")
|
|
{
|
|
rName.Text = GetLinkTextForModification("Receiver Name", "receiverName", tRow);
|
|
}
|
|
else
|
|
{
|
|
rName.Text = GetLinkTextForModification("Receiver Name", "receiverName", tRow);
|
|
rAddress.Text = GetLinkTextForModification("Receiver Address", "rAddress", tRow);
|
|
rContactNo.Text = GetLinkTextForModification("Receiver Contact No", "rContactNo", tRow);
|
|
rIdType.Text = GetLinkTextForModification("Receiver Id Type", "rIdType", tRow);
|
|
rIdNo.Text = GetLinkTextForModification("Receiver Id No", "rIdNo", tRow);
|
|
}
|
|
|
|
if (tRow["paymentMethod"].ToString().ToUpper() == "BANK DEPOSIT")
|
|
{
|
|
accountNo.Text = GetLinkTextForModification("Account No", "accountNo", tRow);
|
|
// bankName.Text = GetLinkTextForModification("Bank Name", "BankName", tRow);
|
|
// branchName.Text = GetLinkTextForModification("Branch Name", "pBranchName", tRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
rName.Text = tRow["receiverName"].ToString(); //
|
|
rAddress.Text = tRow["rAddress"].ToString(); //
|
|
rContactNo.Text = tRow["rContactNo"].ToString(); //
|
|
rIdType.Text = tRow["rIdType"].ToString(); //
|
|
rIdNo.Text = tRow["rIdNo"].ToString(); //
|
|
}
|
|
sName.Text = tRow["senderName"].ToString(); //
|
|
sDetail.Text = tRow["showDetails"].ToString();
|
|
customerId.Text = tRow["uniqueId"].ToString(); //
|
|
walletNo.Text = tRow["walletNo"].ToString();
|
|
visaStatus.Text = tRow["visaStatus"].ToString();
|
|
occupation.Text = tRow["occupation"].ToString();
|
|
sAddress.Text = tRow["sAddress"].ToString(); //
|
|
sContactNo.Text = tRow["sContactNo"].ToString(); //
|
|
sIdType.Text = tRow["sIdType"].ToString(); //
|
|
sIdNo.Text = tRow["sIdNo"].ToString(); //
|
|
|
|
|
|
|
|
hdnRName.Value = tRow["receiverName"].ToString();
|
|
hdnSName.Value = tRow["senderName"].ToString();
|
|
|
|
sCountry.Text = tRow["sCountryName"].ToString();
|
|
sEmail.Text = tRow["sEmail"].ToString();
|
|
rCountry.Text = tRow["rCountryName"].ToString();
|
|
sDOB.Text = tRow["sDob"].ToString();
|
|
|
|
sourceFund.Text = tRow["sourceOfFund"].ToString();
|
|
purpose.Text = tRow["purposeOfRemit"].ToString();
|
|
nativeCountry.Text = tRow["nativeCountry"].ToString();
|
|
|
|
//Sending Agent Detail
|
|
hddSAgentEmail.Value = tRow["sAgentEmail"].ToString();
|
|
sAgentName.Text = tRow["sAgentName"].ToString();
|
|
sBranchName.Text = tRow["sBranchName"].ToString();
|
|
sAgentCountry.Text = tRow["sCountryName"].ToString();
|
|
sAgentDistrict.Text = tRow["sAgentDistrict"].ToString();
|
|
sAgentCity.Text = tRow["sAgentCity"].ToString();
|
|
sAgentLocation.Text = tRow["sAgentLocation"].ToString();
|
|
referralName.Text = tRow["referralName"].ToString();
|
|
|
|
PanelQuestionnaire.Visible = false;
|
|
if (tRow["IsQuestionnaire"].ToString().ToLower() != "none")
|
|
{
|
|
PanelQuestionnaire.Visible = true;
|
|
}
|
|
hdnViewQuestionnaire.Value = tRow["IsQuestionnaire"].ToString();
|
|
//Payout Agent Detail
|
|
|
|
pAgentCountry.Text = tRow["pAgentCountry"].ToString();
|
|
pAgentDistrict.Text = tRow["pAgentDistrict"].ToString();
|
|
pAgentCity.Text = tRow["pAgentCity"].ToString();
|
|
|
|
if (rl.HasRight(ModifyPayoutLocationId) || rl.HasRight(ModifyPayoutLocationIdAg))
|
|
{
|
|
if (mode == "u" && tRow["paymentMethod"].ToString().ToUpper() != "BANK DEPOSIT")
|
|
// mode: modification payout location
|
|
{
|
|
pAgentLocation.Text = GetLinkPayoutLocation("Payout Location", "pAgentLocation", tRow);
|
|
accountNo.Text = tRow["accountNo"].ToString();
|
|
bankName.Text = tRow["BankName"].ToString();
|
|
branchName.Text = tRow["BranchName"].ToString();
|
|
|
|
pBranchName.Text = tRow["pBranchName"].ToString();
|
|
}
|
|
else if (mode == "u" && tRow["paymentMethod"].ToString().ToUpper() == "BANK DEPOSIT")
|
|
//modify mode & bank deposit mode
|
|
{
|
|
accountNo.Text = GetLinkPayoutLocation("Account Number", "accountNo", tRow);
|
|
bankName.Text = GetLinkPayoutLocation("Bank Name", "BankName", tRow);
|
|
branchName.Text = GetLinkPayoutLocation("Branch Name", "BranchName", tRow);
|
|
pBranchName.Text = GetLinkPayoutLocation("Paying Branch", "pBranchName", tRow);
|
|
pAgentLocation.Text = tRow["pAgentLocation"].ToString();
|
|
}
|
|
else
|
|
{
|
|
pAgentLocation.Text = tRow["pAgentLocation"].ToString();
|
|
accountNo.Text = tRow["accountNo"].ToString();
|
|
bankName.Text = tRow["BankName"].ToString();
|
|
branchName.Text = tRow["BranchName"].ToString();
|
|
pBranchName.Text = tRow["pBranchName"].ToString();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
pAgentLocation.Text = tRow["pAgentLocation"].ToString();
|
|
accountNo.Text = tRow["accountNo"].ToString();
|
|
//bankName.Text = tRow["BankName"].ToString();
|
|
//branchName.Text = tRow["BranchName"].ToString();
|
|
//pBranchName.Text = tRow["pBranchName"].ToString();
|
|
}
|
|
bankName.Text = tRow["BankName"].ToString();
|
|
branchName.Text = tRow["BranchName"].ToString();
|
|
pBranchName.Text = tRow["pBranchName"].ToString();
|
|
pAgentLocation.Text = tRow["pAgentLocation"].ToString();
|
|
|
|
pAgentName.Text = tRow["pAgentName"].ToString();
|
|
modeOfPayment.Text = tRow["paymentMethod"].ToString();
|
|
payer.Text = tRow["payerName"].ToString();
|
|
|
|
tranStatus.Text = tRow["tranStatus"].ToString();
|
|
payStatus.Text = tRow["payStatus"].ToString();
|
|
|
|
sAgentComm.Text = GetStatic.FormatData(tRow["sAgentComm"].ToString(), "M");
|
|
sAgentCommCurr.Text = tRow["sAgentCommCurrency"].ToString();
|
|
if (payStatus.Text == "Paid")
|
|
{
|
|
payAgentComm.Visible = true;
|
|
pAgentComm.Text = GetStatic.FormatData(tRow["pAgentComm"].ToString(), "M");
|
|
pAgentCommCurr.Text = tRow["pAgentCommCurrency"].ToString();
|
|
}
|
|
|
|
pnlShowBankDetail.Visible = (tRow["paymentMethod"].ToString().ToUpper() == "BANK DEPOSIT" ? true : false);
|
|
if (tRow["paymentMethod"].ToString().ToUpper().Equals("MOBILE WALLET"))
|
|
{
|
|
pnlShowBankDetail.Visible = true;
|
|
}
|
|
|
|
//if (tRow["tranType"].ToString() == "I")
|
|
//{
|
|
// pnlExRate.Visible = true;
|
|
handling.Text = GetStatic.FormatData(tRow["handlingFee"].ToString(), "M");
|
|
exRate.Text = GetStatic.ShowDecimalRate(tRow["exRate"].ToString());
|
|
// }
|
|
|
|
bankDetails.Visible = false;
|
|
lblCollMode.Text = tRow["collMode"].ToString();
|
|
if (tRow["collMode"].ToString().ToLower() == "bank deposit")
|
|
{
|
|
bankDetails.Visible = true;
|
|
PopulateBankDetails(ds.Tables[3]);
|
|
}
|
|
transferAmount.Text = GetStatic.FormatData(tRow["tAmt"].ToString(), "M");
|
|
serviceCharge.Text = GetStatic.FormatData(tRow["serviceCharge"].ToString(), "M");
|
|
total.Text = GetStatic.FormatData(tRow["cAmt"].ToString(), "M");
|
|
payoutAmt.Text = GetStatic.FormatData(tRow["pAmt"].ToString(), "M");
|
|
relationship.Text = tRow["relationship"].ToString();
|
|
if (tRow["payoutMsg"].ToString() == "-")
|
|
trpMsg.Visible = false;
|
|
else
|
|
payoutMsg.Text = tRow["payoutMsg"].ToString();
|
|
|
|
tAmtCurr.Text = tRow["collCurr"].ToString();
|
|
scCurr.Text = tRow["collCurr"].ToString();
|
|
totalCurr.Text = tRow["collCurr"].ToString();
|
|
pAmtCurr.Text = tRow["payoutCurr"].ToString();
|
|
|
|
createdBy.Text = tRow["createdBy"].ToString();
|
|
createdDate.Text = tRow["createdDate"].ToString();
|
|
createdFrom.Text = tRow["createdFrom"].ToString();
|
|
approvedBy.Text = tRow["approvedBy"].ToString();
|
|
approvedDate.Text = tRow["approvedDate"].ToString();
|
|
paidBy.Text = tRow["paidBy"].ToString();
|
|
paidDate.Text = tRow["paidDate"].ToString();
|
|
cancelRequestedBy.Text = tRow["cancelRequestBy"].ToString();
|
|
cancelRequestedDate.Text = tRow["cancelRequestDate"].ToString();
|
|
cancelApprovedBy.Text = tRow["cancelApprovedBy"].ToString();
|
|
cancelApprovedDate.Text = tRow["cancelApprovedDate"].ToString();
|
|
createdFrom.Text = tRow["createdFrom"].ToString();
|
|
hddPayTokenId.Value = tRow["payTokenId"].ToString();
|
|
introducer.Text = tRow["introducer"].ToString();
|
|
|
|
tblCreatedLog.Visible = createdBy.Text != "";
|
|
tblApprovedLog.Visible = approvedBy.Text != "";
|
|
tblPaidLog.Visible = paidBy.Text != "";
|
|
tblCancelRequestedLog.Visible = cancelRequestedBy.Text != "";
|
|
tblCancelApprovedLog.Visible = cancelApprovedBy.Text != "";
|
|
|
|
trNameAsPerBank.Visible = false;
|
|
if (!string.IsNullOrEmpty(tRow["receiverNameAlt"].ToString()))
|
|
{
|
|
trNameAsPerBank.Visible = true;
|
|
lblNameAsPerBank.Text = tRow["receiverNameAlt"].ToString();
|
|
}
|
|
|
|
}
|
|
if (displayType != "cancelpartner")
|
|
{
|
|
ShowDocumentUploadOrNot();
|
|
// PopulateVoucherDetail(TranNo);
|
|
}
|
|
//pnlLog.Visible = false;
|
|
if (ds.Tables[1].Rows.Count > 0)
|
|
{
|
|
//pnlLog.Visible = true;
|
|
var dt = ds.Tables[1];
|
|
var str = new StringBuilder("<table class=\"table table-responsive table-bordered table-striped\">");
|
|
str.Append("<tr>");
|
|
str.Append("<th>Updated By</th>");
|
|
str.Append("<th>Updated Date</th>");
|
|
str.Append("<th>Message</th>");
|
|
str.Append("<th>Action</th>");
|
|
str.Append("</tr>");
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
str.Append("<tr>");
|
|
str.Append("<td align='left'>" + dr["createdBy"] + "</td>");
|
|
str.Append("<td align='left'>" + dr["createdDate"] + "</td>");
|
|
if (dr["fileType"].ToString() == "")
|
|
{
|
|
str.Append("<td align='left'>" + dr["message"] + "</td>");
|
|
}
|
|
else
|
|
{
|
|
str.Append("<td align='left'><a title='View Deposit Slip' target='_blank' href='/doc/" + lblControlNo.Text + "/" + dr["rowId"].ToString() + "." + dr["fileType"].ToString() + "'>" + dr["message"] + "</a></td>");
|
|
}
|
|
if (dr["deleteComment"].ToString() == "Y" && dr["fieldName"].ToString() != "STATUS_SYNC")
|
|
{
|
|
str.Append("<td align='left'><a class=\"btn btn-xs btn-primary\" title=\"Delete\" onClick= \"DeleteTroubleTicket( " + dr["rowId"].ToString() + ")\"><i class=\"fa fa-trash\"></i></a></td>");
|
|
}
|
|
str.Append("</tr>");
|
|
}
|
|
str.Append("</table>");
|
|
rptLog.InnerHtml = str.ToString();
|
|
}
|
|
// Customer Document Details
|
|
if (ds.Tables.Count > 4)
|
|
{
|
|
if (ds.Tables[4] != null && ds.Tables[4].Rows.Count > 0)
|
|
{
|
|
var dt = ds.Tables[4];
|
|
var str = new StringBuilder("<table class=\"table table-responsive table-bordered table-striped\">");
|
|
str.Append("<tr>");
|
|
str.Append("<th>S.N</th>");
|
|
str.Append("<th>Doc Type</th>");
|
|
str.Append("<th>File Type</th>");
|
|
str.Append("<th>File Name</th>");
|
|
str.Append("<th>Uploaded Date</th>");
|
|
str.Append("</tr>");
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
str.Append("<tr>");
|
|
str.Append("<td align='left'>" + dr["SN"] + "</td>");
|
|
str.Append("<td align='left'>" + dr["documentType"] + "</td>");
|
|
str.Append("<td align='left'>" + dr["fileType"] + "</td>");
|
|
str.Append("<td align='left'>" + dr["fileName"] + "</td>");
|
|
str.Append("<td align='left'>" + dr["uploadedDate"] + "</td>");
|
|
}
|
|
str.Append("</table>");
|
|
customerDocDetails.InnerHtml = str.ToString();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
public class CustomerDocumentView
|
|
{
|
|
public string CdId { get; set; }
|
|
public string FileName { get; set; }
|
|
public string FileType { get; set; }
|
|
public string DocumentName { get; set; }
|
|
public string ImageUrl { get; set; }
|
|
public bool isEkyc { get; set; }
|
|
}
|
|
private List<string> GetDocTypeListNew()
|
|
{
|
|
List<string> docType = new List<string>();
|
|
docType.Add("ID Front");
|
|
docType.Add("ID Back");
|
|
docType.Add("Additional ID Front");
|
|
docType.Add("Additional ID Back");
|
|
|
|
|
|
return docType;
|
|
}
|
|
public void GetImageUrl()
|
|
{
|
|
string customerId = hdnCustomerId.Value;
|
|
string registerDate = hdnRegisterDate.Value;
|
|
string membershipId = hdnMembershipId.Value;
|
|
var documentDetails = _cd.GetDocumentByCustomerId(customerId);
|
|
List<CustomerDocumentView> customerDocument = new List<CustomerDocumentView>();
|
|
List<DataRow> docList = new List<DataRow>();
|
|
List<string> docTypeList = GetDocTypeListNew();
|
|
|
|
if (documentDetails != null)
|
|
{
|
|
docList = documentDetails.Rows.Cast<DataRow>().ToList();
|
|
foreach (var item in docTypeList)
|
|
{
|
|
var docDetails = docList.Where(x => x.Field<string>("documentName").ToLower().ToString().Equals(item.ToLower())).FirstOrDefault();
|
|
|
|
if (docDetails != null)
|
|
{
|
|
CustomerDocumentView doc = new CustomerDocumentView
|
|
{
|
|
CdId = docDetails.Field<int>("cdid").ToString(),// cast error aauxa eta
|
|
FileName = docDetails.Field<string>("fileName").ToString(),
|
|
FileType = docDetails.Field<string>("fileType") == null ? "" : docDetails.Field<string>("fileType").ToString(),
|
|
DocumentName = docDetails.Field<string>("documentName").ToString(),
|
|
ImageUrl = "/Handler/CustomerSignature.ashx?registerDate=" + Convert.ToDateTime(registerDate).ToString("yyyy-MM-dd") + "&customerId=" + customerId + "&membershipNo=" + membershipId + "&fileName=" + docDetails.Field<string>("fileName").ToString(),
|
|
isEkyc = false
|
|
};
|
|
customerDocument.Add(doc);
|
|
}
|
|
}
|
|
}
|
|
Response.ContentType = "text/plain";
|
|
var serializer = new JavaScriptSerializer();
|
|
var json = serializer.Serialize(customerDocument);
|
|
Response.Write(json);
|
|
Response.End();
|
|
|
|
}
|
|
|
|
public void GetImageUrl1()
|
|
{
|
|
string customerId = hdnCustomerId.Value;
|
|
string registerDate = hdnRegisterDate.Value;
|
|
string membershipId = hdnMembershipId.Value;
|
|
var documentDetails = _cd.GetDocumentByCustomerId(customerId);
|
|
string[] imageUrlArray = new string[4];
|
|
StringBuilder imageHtml = new StringBuilder();
|
|
List<DataRow> docList = new List<DataRow>();
|
|
|
|
if (documentDetails != null)
|
|
{
|
|
docList = documentDetails.Rows.Cast<DataRow>().ToList();
|
|
docList = docList.Where(x => !string.IsNullOrEmpty(x.Field<string>("documentName"))).ToList();
|
|
|
|
var IdFront = docList.Where(x => x.Field<string>("documentName").ToString().Equals("ID Front")).FirstOrDefault();
|
|
if (IdFront != null)
|
|
{
|
|
imageUrlArray[0] = "/Handler/CustomerSignature.ashx?registerDate=" + Convert.ToDateTime(registerDate).ToString("yyyy-MM-dd") + "&customerId=" + customerId + "&membershipNo=" + membershipId + "&fileName=" + IdFront.Field<string>("fileName").ToString();
|
|
}
|
|
var IdBack = docList.Where(x => x.Field<string>("documentName").ToString().Equals("ID Back")).FirstOrDefault();
|
|
if (IdBack != null)
|
|
{
|
|
imageUrlArray[1] = "/Handler/CustomerSignature.ashx?registerDate=" + Convert.ToDateTime(registerDate).ToString("yyyy-MM-dd") + "&customerId=" + customerId + "&membershipNo=" + membershipId + "&fileName=" + IdBack.Field<string>("fileName").ToString();
|
|
}
|
|
var AdditionalIdFront = docList.Where(x => x.Field<string>("documentName") != null && x.Field<string>("documentName").ToString().Equals("Additional ID Front")).SingleOrDefault();
|
|
if (AdditionalIdFront != null)
|
|
{
|
|
imageUrlArray[2] = "/Handler/CustomerSignature.ashx?registerDate=" + Convert.ToDateTime(registerDate).ToString("yyyy-MM-dd") + "&customerId=" + customerId + "&membershipNo=" + membershipId + "&fileName=" + AdditionalIdFront.Field<string>("fileName").ToString();
|
|
}
|
|
else
|
|
imageUrlArray[2] = "";
|
|
var AdditionalIdBack = docList.Where(x => x.Field<string>("documentName") != null && x.Field<string>("documentName").ToString().Equals("Additional ID Back")).FirstOrDefault();
|
|
if (AdditionalIdBack != null)
|
|
{
|
|
imageUrlArray[3] = "/Handler/CustomerSignature.ashx?registerDate=" + Convert.ToDateTime(registerDate).ToString("yyyy-MM-dd") + "&customerId=" + customerId + "&membershipNo=" + membershipId + "&fileName=" + AdditionalIdBack.Field<string>("fileName").ToString();
|
|
}
|
|
else
|
|
imageUrlArray[3] = "";
|
|
}
|
|
Response.ContentType = "text/plain";
|
|
var serializer = new JavaScriptSerializer();
|
|
var json = serializer.Serialize(imageUrlArray);
|
|
Response.Write(json);
|
|
Response.End();
|
|
|
|
}
|
|
private void saveCustomerDocument()
|
|
{
|
|
string customerId = hdnCustomerId.Value;
|
|
string registerDate = hdnRegisterDate.Value;
|
|
string membershipId = hdnMembershipId.Value;
|
|
|
|
HttpFileCollection fileCollection = Request.Files;
|
|
|
|
for (int i = 0; i < fileCollection.AllKeys.Length; i++)
|
|
{
|
|
HttpPostedFile file = fileCollection[i];
|
|
if (file != null)
|
|
{
|
|
string documentTypeName = "";
|
|
string documentType = "";
|
|
string fileType = "";
|
|
string cdid = "";
|
|
string filename = "";
|
|
var keyName = fileCollection.AllKeys[i];
|
|
keyName = keyName.Replace("ucTran$", "");
|
|
|
|
|
|
if (keyName.ToLower().Equals("reg_front_id1"))
|
|
{
|
|
documentTypeName = "ID Card(Front)";
|
|
documentType = "11394";
|
|
if (hdnreg_front_idCdId != null & !string.IsNullOrEmpty(hdnreg_front_idCdId.Value))
|
|
{
|
|
var r = hdnreg_front_idCdId.Value.Split('|');
|
|
filename = r[0];
|
|
cdid = r[1];
|
|
}
|
|
}
|
|
if (keyName.ToLower().Equals("reg_back_id"))
|
|
{
|
|
documentTypeName = "ID Card(Back)";
|
|
documentType = "11395";
|
|
if (hdnreg_front_idCdId != null & !string.IsNullOrEmpty(hdnreg_back_id_idCdId.Value))
|
|
{
|
|
var r = hdnreg_back_id_idCdId.Value.Split('|');
|
|
filename = r[0];
|
|
cdid = r[1];
|
|
}
|
|
}
|
|
if (keyName.ToLower().Equals("reg_additional_id"))
|
|
{
|
|
documentTypeName = "Additional ID (Front)";
|
|
documentType = "11396";
|
|
if (hdnreg_front_idCdId != null & !string.IsNullOrEmpty(hdnreg_additional_idCdId.Value))
|
|
{
|
|
var r = hdnreg_additional_idCdId.Value.Split('|');
|
|
if (r.Count() > 1)
|
|
{
|
|
filename = r[0];
|
|
cdid = r[1];
|
|
}
|
|
else
|
|
cdid = r[0];
|
|
}
|
|
}
|
|
if (keyName.ToLower().Equals("reg_additional_id2"))
|
|
{
|
|
documentTypeName = "Additional ID (Back)";
|
|
documentType = "11397";
|
|
if (hdnreg_front_idCdId != null & !string.IsNullOrEmpty(hdnreg_additional_id2CdId.Value))
|
|
{
|
|
var r = hdnreg_additional_id2CdId.Value.Split('|');
|
|
if (r.Count() > 1)
|
|
{
|
|
filename = r[0];
|
|
cdid = r[1];
|
|
}
|
|
else
|
|
cdid = r[0];
|
|
}
|
|
}
|
|
|
|
if (file.ContentLength > 0 && !string.IsNullOrEmpty(file.FileName))
|
|
{
|
|
string fileNameNew = (!string.IsNullOrWhiteSpace(file.FileName) ? UploadDocument(file, customerId, documentTypeName, membershipId, registerDate, filename, out fileType)
|
|
: UploadDocument(file, customerId, documentType, membershipId, registerDate, filename, out fileType));
|
|
//CustomerDocument cm = new CustomerDocument();
|
|
//cm.customerId = result[0];
|
|
//cm.fileDescription = "";
|
|
//cm.documentType = documentType;
|
|
//cm.fileUrl = fileName;
|
|
//cm.fileType = fileType;
|
|
|
|
if (fileNameNew.Contains("notValid extensions."))
|
|
{
|
|
GetStatic.CallBackJs1(Page, "Print Message", "ManageMessage('" + fileNameNew + "');");
|
|
continue;
|
|
}
|
|
else
|
|
_cd.UpdateCustomerDocument(cdid, customerId, fileNameNew, documentTypeName, fileType, documentType, GetStatic.GetUser());
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private string UploadDocument(HttpPostedFile doc, string customerId, string documentType, string membershipId, string registeredDate, string filenameOld, out string fileType)
|
|
{
|
|
fileType = "";
|
|
string fName = "";
|
|
try
|
|
{
|
|
fileType = doc.ContentType;
|
|
string fileExtension = new FileInfo(doc.FileName).Extension;
|
|
string documentExtension = GetStatic.ReadWebConfig("customerDocFileExtension", "");
|
|
if (documentExtension.ToLower().Contains(fileExtension.ToLower()))
|
|
{
|
|
string fileName = customerId + "_" + documentType.Replace(" ", string.Empty) + "_" + DateTime.Now.Hour.ToString() + DateTime.Now.Millisecond.ToString() + "_" + registeredDate.Replace("-", "_") + fileExtension;
|
|
string path = GetStatic.GetCustomerFilePath() + "CustomerDocument\\" + registeredDate.Replace("-", "\\") + "\\" + membershipId;
|
|
if (!Directory.Exists(path))
|
|
Directory.CreateDirectory(path);
|
|
|
|
bool folderExists = Directory.Exists(path + "\\deleted");
|
|
if (!folderExists)
|
|
Directory.CreateDirectory(path + "\\deleted");
|
|
|
|
String filename_initial = path + "\\deleted\\" + $"org_{filenameOld}";
|
|
String filename_current = filename_initial;
|
|
var count = 0;
|
|
while (File.Exists(filename_current))
|
|
{
|
|
count++;
|
|
filename_current = Path.GetDirectoryName(filename_initial)
|
|
+ Path.DirectorySeparatorChar
|
|
+ Path.GetFileNameWithoutExtension(filename_initial)
|
|
+ count.ToString()
|
|
+ Path.GetExtension(filename_initial);
|
|
}
|
|
|
|
File.Move(path + "\\" + filenameOld, filename_current);
|
|
doc.SaveAs(path + "\\" + filenameOld);
|
|
|
|
fName = filenameOld;
|
|
}
|
|
else
|
|
{
|
|
fName = "notValid extensions.";
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
GetStatic.LogError(ex, "UploadDocument");
|
|
fName = "";
|
|
}
|
|
return fName;
|
|
}
|
|
|
|
private void PopulateBankDetails(DataTable dataTable)
|
|
{
|
|
if (null == dataTable || dataTable.Rows.Count == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
int sNo = 0;
|
|
StringBuilder sb = new StringBuilder();
|
|
foreach (DataRow item in dataTable.Rows)
|
|
{
|
|
sNo++;
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td>" + sNo + "</td>");
|
|
sb.AppendLine("<td>" + item["PARTICULARS"].ToString() + "</td>");
|
|
sb.AppendLine("<td>" + item["TRANDATE"].ToString() + "</td>");
|
|
sb.AppendLine("<td>" + GetStatic.ShowDecimal(item["DEPOSITAMOUNT"].ToString()) + "</td>");
|
|
sb.AppendLine("</tr>");
|
|
}
|
|
bankDpositDetails.InnerHtml = sb.ToString();
|
|
}
|
|
|
|
public void PopulateVoucherDetail(string tranNo)
|
|
{
|
|
var obj = new TranViewDao();
|
|
var dt = obj.SelectVoucherDetail(GetStatic.GetUser(), tranNo);
|
|
if (dt.Rows.Count == 0 || null == dt)
|
|
{
|
|
return;
|
|
}
|
|
int sNo = 1;
|
|
StringBuilder sb = new StringBuilder();
|
|
foreach (DataRow item in dt.Rows)
|
|
{
|
|
sb.AppendLine("<td>" + sNo + "</td>");
|
|
sb.AppendLine("<td>" + item["voucherNo"].ToString() + "</td>");
|
|
sb.AppendLine("<td>" + item["voucherDate"].ToString() + "</td>");
|
|
sb.AppendLine("<td align='right'>" + GetStatic.ShowDecimal(item["voucherAmt"].ToString()) + "</td>");
|
|
sb.AppendLine("<td>" + item["bankName"].ToString() + "</td>");
|
|
sb.AppendLine("</tr>");
|
|
sNo++;
|
|
}
|
|
voucherDetailDiv.InnerHtml = sb.ToString();
|
|
}
|
|
|
|
public void SearchData(string tranNo, string ctrlNo)
|
|
{
|
|
SearchData(tranNo, ctrlNo, "");
|
|
}
|
|
|
|
public void SearchData(string tranNo, string ctrlNo, string lockMode)
|
|
{
|
|
SearchData(tranNo, ctrlNo, "", lockMode);
|
|
}
|
|
|
|
public string GetLinkTextForModification(string label, string fieldName, DataRow dr)
|
|
{
|
|
var str = "<a href=# title='Edit Record'><div class = \"link\" onclick = \"EditData('" + label + "', '" + fieldName + "', '" + dr[fieldName] + "','" + hddTranId.Value + "')\">" +
|
|
dr[fieldName] + "<img border=0 src=\"/Images/edit.gif\"/></a></div>";
|
|
return str;
|
|
}
|
|
|
|
public string GetLinkPayoutLocation(string label, string fieldName, DataRow dr)
|
|
{
|
|
var str = "<a href=# title='Edit Record'><div class = \"link\" onclick = \"EditPayoutLocation('" + label + "', '" + fieldName + "', '" + dr[fieldName] + "','" + hddTranId.Value + "')\">" +
|
|
dr[fieldName] + "<img border=0 src=\"/Images/edit.gif\"/></a></div>";
|
|
return str;
|
|
}
|
|
|
|
public void SearchData()
|
|
{
|
|
//if TranNo is not blank, search by tranNo
|
|
//if CtrlNo is not blank, search by ctrlNo
|
|
}
|
|
|
|
private void ManageMessage(DbResult dbResult)
|
|
{
|
|
GetStatic.SetMessage(dbResult);
|
|
GetStatic.AlertMessage(Page);
|
|
}
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
pnlDetail.Visible = ShowDetailBlock;
|
|
pnlLog.Visible = ShowLogBlock;
|
|
pnlComment.Visible = ShowCommentBlock;
|
|
pnlReleaseBtn.Visible = ShowApproveButton;
|
|
pnlPartnerRemarks.Visible = ShowApproveButton;
|
|
panelCustomerDocDetails.Visible = ShowDocDetails;
|
|
ShowOFACList();
|
|
ShowComplianceList();
|
|
ShowCashLimitHoldList();
|
|
ShowDocumentUploadOrNot();
|
|
if (ShowApproveButton)
|
|
{
|
|
ShowPartnerRemarks();
|
|
}
|
|
else
|
|
{
|
|
pnlNotRealTimeRemarks.Visible = false;
|
|
notRealTimeRemarksDiv.Visible = false;
|
|
}
|
|
var methodName = Request.Form["methodName"];
|
|
if (methodName == "deleteTroubleTicket")
|
|
{
|
|
DeleteTroubleTicket();
|
|
// ShowLog();
|
|
}
|
|
if(methodName == "GetCustomerDetails")
|
|
{
|
|
GetCustomerDetails();
|
|
}
|
|
if (methodName == "GetImageUrl")
|
|
{
|
|
GetImageUrl();
|
|
}
|
|
|
|
}
|
|
private void GetCustomerDetails()
|
|
{
|
|
string eId = Request.Form["Id"];
|
|
var dt = _cd.GetDetailsForEditCustomer(eId, GetStatic.GetUser());
|
|
|
|
Response.ContentType = "text/plain";
|
|
var json = DataTableToJson(dt);
|
|
Response.Write(json);
|
|
Response.End();
|
|
}
|
|
public static string DataTableToJson(DataTable table)
|
|
{
|
|
if (table == null)
|
|
return "";
|
|
var list = new List<Dictionary<string, object>>();
|
|
|
|
foreach (DataRow row in table.Rows)
|
|
{
|
|
var dict = new Dictionary<string, object>();
|
|
|
|
foreach (DataColumn col in table.Columns)
|
|
{
|
|
dict[col.ColumnName] = string.IsNullOrEmpty(row[col].ToString()) ? "" : row[col];
|
|
}
|
|
list.Add(dict);
|
|
}
|
|
var serializer = new JavaScriptSerializer();
|
|
string json = serializer.Serialize(list);
|
|
return json;
|
|
}
|
|
private void DeleteTroubleTicket()
|
|
{
|
|
var obj = new TranViewDao();
|
|
var rowId = Request.Form["rowId"];
|
|
var user = GetStatic.GetUser();
|
|
DbResult dbResult = obj.DeleteTroubleTicket(rowId, user);
|
|
Response.ContentType = "text/plain";
|
|
Response.Write(JsonConvert.SerializeObject(dbResult));
|
|
Response.End();
|
|
}
|
|
|
|
private void ShowDocumentUploadOrNot()
|
|
{
|
|
PopulateDocument();
|
|
PanelDocumentUpload.Visible = true;
|
|
uploadDocument.Visible = true;
|
|
uploadDocumentButton.Visible = true;
|
|
|
|
//if (isFromApprove == "Y")
|
|
//{
|
|
// uploadDocument.Visible = true;
|
|
// uploadDocumentButton.Visible = true;
|
|
//}
|
|
|
|
|
|
//if (isFromApproveTxn == "Y")
|
|
//{
|
|
// uploadDocument.Visible = true;
|
|
// uploadDocumentButton.Visible = true;
|
|
//}
|
|
|
|
}
|
|
|
|
protected void btnAdd_Click(object sender, EventArgs e)
|
|
{
|
|
if (GetStatic.GetisSendPush() == "Y")
|
|
AddCommentApi();
|
|
else
|
|
AddComment();
|
|
|
|
comments.Text = "";
|
|
ShowLog();
|
|
}
|
|
|
|
#region for desplaying a transaction comments log
|
|
|
|
public void ShowLog()
|
|
{
|
|
var obj = new TranViewDao();
|
|
var ds = obj.DisplayLog(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, "");
|
|
|
|
if (ds == null)
|
|
return;
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
pnlLog.Visible = true;
|
|
var dt = ds.Tables[0];
|
|
var str = new StringBuilder("<table class='table table-responsive table-bordered table-striped'>");
|
|
str.Append("<tr>");
|
|
str.Append("<th>Updated By</th>");
|
|
str.Append("<th width='130px'>Updated Date</th>");
|
|
str.Append("<th>Message</th>");
|
|
str.Append("<th>Action</th>");
|
|
str.Append("</tr>");
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
str.Append("<tr>");
|
|
str.Append("<td align='left'>" + dr["createdBy"] + "</td>");
|
|
str.Append("<td align='left'>" + dr["createdDate"] + "</td>");
|
|
if (dr["fileType"].ToString() == "")
|
|
{
|
|
str.Append("<td align='left'>" + dr["message"] + "</td>");
|
|
}
|
|
else
|
|
{
|
|
str.Append("<td align='left'><a title='View Deposit Slip' target='_blank' href='/doc/" + lblControlNo.Text + "/" + dr["rowId"].ToString() + "." + dr["fileType"].ToString() + "'>" + dr["message"] + "</a></td>");
|
|
}
|
|
if (dr["deleteComment"].ToString() == "Y" && dr["fieldName"].ToString() != "STATUS_SYNC")
|
|
{
|
|
str.Append("<td align='left'><a class=\"btn btn-xs btn-primary\" title=\"Delete\" onClick= \"DeleteTroubleTicket( " + dr["rowId"].ToString() + ")\"><i class=\"fa fa-trash\"></i></a></td>");
|
|
}
|
|
str.Append("</tr>");
|
|
}
|
|
str.Append("</table>");
|
|
rptLog.InnerHtml = str.ToString();
|
|
}
|
|
}
|
|
|
|
#endregion for desplaying a transaction comments log
|
|
|
|
public void ShowOFACList()
|
|
{
|
|
var obj = new TranViewDao();
|
|
var ds = obj.DisplayOFAC(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, "");
|
|
|
|
if (ds == null)
|
|
{
|
|
pnlOFAC.Visible = false;
|
|
return;
|
|
}
|
|
var senderName = hdnSName.Value;
|
|
var recName = hdnRName.Value;
|
|
var name = senderName + ' ' + recName;
|
|
|
|
if (ds.Tables[0].Rows[0]["isJsonData"].ToString() == "Y")
|
|
{
|
|
string res = GetStatic.ParseOfacJson(ds.Tables[0].Rows[0]["ofacRemarks"].ToString(), name);
|
|
if (!string.IsNullOrEmpty(res))
|
|
{
|
|
pnlOFAC.Visible = true;
|
|
displayOFAC.InnerHtml = res;
|
|
string checkFlag = obj.checkFlagOFAC(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, "");
|
|
if (checkFlag == "Y")
|
|
{
|
|
pnlReleaseBtn.Visible = false;
|
|
ofacApproveRemarks.Visible = false;
|
|
}
|
|
GetStatic.AlertMessage(Page);
|
|
}
|
|
return;
|
|
}
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
pnlOFAC.Visible = true;
|
|
var dt = ds.Tables[0];
|
|
int cols = dt.Columns.Count;
|
|
var str = new StringBuilder("<table class='trnLog' border=\"1\" cellspacing=0 cellpadding=\"3\">");
|
|
str.Append("<tr>");
|
|
for (int i = 0; i < cols; i++)
|
|
{
|
|
str.Append("<th><div align=\"left\">" + dt.Columns[i].ColumnName + "</div></th>");
|
|
}
|
|
str.Append("</tr>");
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
str.Append("<tr>");
|
|
str.Append("<td align=\"left\">" + dr[0] + "</td>");
|
|
var strArr = name.Split(' ');
|
|
var arrlen = strArr.Length;
|
|
string value = dr[1].ToString();
|
|
for (int j = 0; j < arrlen; j++)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(strArr[j]))
|
|
{
|
|
if (strArr[j].Length > 2)
|
|
{
|
|
value = value.ToUpper().Replace(strArr[j], GetStatic.PutRedBackGround(strArr[j]));
|
|
}
|
|
}
|
|
}
|
|
str.Append("<td align=\"left\">" + value + "</td>");
|
|
str.Append("</tr>");
|
|
}
|
|
str.Append("</table>");
|
|
displayOFAC.InnerHtml = str.ToString();
|
|
|
|
string checkFlag = obj.checkFlagOFAC(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, "");
|
|
if (checkFlag == "Y")
|
|
{
|
|
pnlReleaseBtn.Visible = false;
|
|
ofacApproveRemarks.Visible = false;
|
|
}
|
|
|
|
GetStatic.AlertMessage(Page);
|
|
}
|
|
}
|
|
|
|
public void ShowComplianceList()
|
|
{
|
|
var obj = new TranViewDao();
|
|
var ds = obj.DisplayCompliance(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, "");
|
|
if (ds == null)
|
|
{
|
|
pnlCompliance.Visible = false;
|
|
//PanelDocumentUpload.Visible = false;
|
|
//pnlReleaseBtnCashHold.Visible = false;
|
|
return;
|
|
}
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
pnlCompliance.Visible = true;
|
|
|
|
var dt = ds.Tables[0];
|
|
int cols = dt.Columns.Count;
|
|
var str = new StringBuilder("<table class='table table-responsive table-bordered table-striped'>");
|
|
str.Append("<tr>");
|
|
for (int i = 2; i < cols; i++)
|
|
{
|
|
str.Append("<th><div align=\"left\">" + dt.Columns[i].ColumnName + "</div></th>");
|
|
}
|
|
str.Append("</tr>");
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
str.Append("<tr>");
|
|
for (int i = 2; i < cols; i++)
|
|
{
|
|
if (i == 4)
|
|
{
|
|
var strArr = dr["Matched ControlNo"].ToString().Split(',');
|
|
var arrlen = strArr.Length;
|
|
str.Append("<td>");
|
|
for (int j = 0; j < arrlen; j++)
|
|
{
|
|
if (dr["csDetailRecId"].ToString() != "0")
|
|
{
|
|
str.Append(strArr[j]);
|
|
}
|
|
else
|
|
{
|
|
str.Append("<a href=\"#\" onclick=\"OpenInNewWindow('/Remit/Transaction/Reports/SearchTransaction.aspx?controlNo=" + strArr[j] + "')\">" + strArr[j] + "</a> ");
|
|
}
|
|
}
|
|
str.Append("</td>");
|
|
}
|
|
else if (i == 3)
|
|
{
|
|
if (dr["csDetailRecId"].ToString() == "0")
|
|
{
|
|
str.Append("<td align=\"left\"><a href=\"#\" onclick=\"OpenInNewWindow('/Remit/OFACManagement/ComplianceDetail.aspx?id=" + dr["rowId"].ToString() + "&csID=" + dr["csDetailRecId"] + "')\">" + dr[i].ToString() + "</a></td>");
|
|
}
|
|
else
|
|
{
|
|
str.Append("<td align=\"left\"><a href=\"#\" onclick=\"OpenInNewWindow('/Remit/OFACManagement/ComplianceDetail.aspx?type=compNew&id=" + dr["csDetailRecId"].ToString() + "')\">" + dr[i].ToString() + "</a></td>");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
str.Append("<td align=\"left\">" + dr[i].ToString() + "</td>");
|
|
}
|
|
}
|
|
str.Append("</tr>");
|
|
}
|
|
str.Append("</table>");
|
|
displayCompliance.InnerHtml = str.ToString();
|
|
|
|
|
|
string checkFlag = obj.checkFlagCompliance(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, "");
|
|
if (checkFlag == "Y")
|
|
{
|
|
pnlReleaseBtn.Visible = false;
|
|
complianceApproveRemarks.Visible = false;
|
|
}
|
|
|
|
GetStatic.AlertMessage(Page);
|
|
}
|
|
}
|
|
|
|
public void ShowCashLimitHoldList()
|
|
{
|
|
var obj = new TranViewDao();
|
|
var ds = obj.DisplayCashLimitHold(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, "");
|
|
|
|
if (ds == null)
|
|
{
|
|
pnlCashLimitHold.Visible = false;
|
|
pnlReleaseBtnCashHold.Visible = false;
|
|
return;
|
|
}
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
var dt = ds.Tables[0];
|
|
int cols = dt.Columns.Count;
|
|
var str = new StringBuilder("<table class='table table-responsive table-bordered table-striped'>");
|
|
str.Append("<tr>");
|
|
for (int i = 2; i < cols; i++)
|
|
{
|
|
str.Append("<th><div align=\"left\">" + dt.Columns[i].ColumnName + "</div></th>");
|
|
}
|
|
str.Append("</tr>");
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
str.Append("<tr>");
|
|
for (int i = 2; i < cols; i++)
|
|
{
|
|
if (i == 4)
|
|
{
|
|
var strArr = dr["Matched Tran ID"].ToString().Split(',');
|
|
var arrlen = strArr.Length;
|
|
str.Append("<td>");
|
|
for (int j = 0; j < arrlen; j++)
|
|
{
|
|
str.Append("<a href=\"#\" onclick=\"OpenInNewWindow('/Remit/Transaction/Reports/SearchTransaction.aspx?tranId=" + strArr[j] + "')\">" + strArr[j] + "</a> ");
|
|
}
|
|
str.Append("</td>");
|
|
}
|
|
else if (i == 3)
|
|
{
|
|
//str.Append("<td align=\"left\"><a href=\"#\" onclick=\"OpenInNewWindow('/Remit/OFACManagement/ComplianceDetail.aspx?id=" + dr["rowId"].ToString() + "')\">" + dr[i].ToString() + "</a></td>");
|
|
str.Append("<td align=\"left\">" + dr[i].ToString() + "</td>");
|
|
}
|
|
else
|
|
{
|
|
str.Append("<td align=\"left\">" + dr[i].ToString() + "</td>");
|
|
}
|
|
}
|
|
str.Append("</tr>");
|
|
}
|
|
str.Append("</table>");
|
|
displayCashLimitHold.InnerHtml = str.ToString();
|
|
|
|
string checkFlag = obj.checkFlagCashLimitHold(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, "");
|
|
if (checkFlag == "Y")
|
|
pnlReleaseBtnCashHold.Visible = false;
|
|
|
|
GetStatic.AlertMessage(Page);
|
|
}
|
|
}
|
|
|
|
public void ShowPartnerRemarks()
|
|
{
|
|
var isrealTime = isRealTime.Value;
|
|
if (isrealTime == "True")//is realtime
|
|
{
|
|
string sql = "SELECT CANCEL_REASON_CODE, CANCEL_REASON_TITLE FROM TBL_PARTNER_CANCEL_REASON (NOLOCK) WHERE PARTNER_ID = 394130 AND IS_ACTIVE = 1";
|
|
pnlPartnerRemarks.Visible = true;
|
|
partnerRemarksDiv.Visible = true;
|
|
pnlNotRealTimeRemarks.Visible = false;
|
|
notRealTimeRemarksDiv.Visible = false;
|
|
_sdd.SetDDL(ref ddlRemarks, sql, "CANCEL_REASON_CODE", "CANCEL_REASON_TITLE", "", "Select Reason");
|
|
|
|
}
|
|
else
|
|
{
|
|
pnlPartnerRemarks.Visible = false;
|
|
pnlNotRealTimeRemarks.Visible = true;
|
|
notRealTimeRemarksDiv.Visible = true;
|
|
}
|
|
}
|
|
|
|
protected void btnApproveCompliance_Click(object sender, EventArgs e)
|
|
{
|
|
SaveComplianceApproveRemarks();
|
|
|
|
|
|
//DbResult result = obj.CheckTranInBothRule(GetStatic.GetUser(), hddTranId.Value);
|
|
//if(result.ErrorCode == "1")
|
|
//{
|
|
// SaveComplianceApproveRemarks();
|
|
//}
|
|
//else
|
|
//{
|
|
// var apiRes = ApproveTxn();
|
|
// if(apiRes.ErrorCode == "0")
|
|
// {
|
|
// SaveComplianceApproveRemarks();
|
|
// }
|
|
// else
|
|
// {
|
|
// GetStatic.SetMessage(apiRes);
|
|
// GetStatic.AlertMessage(Page);
|
|
// }
|
|
|
|
//}
|
|
|
|
}
|
|
private DbResult ApproveTxn()
|
|
{
|
|
DbResult _dbRes = at.GetTxnApproveDataCompliance(GetStatic.GetUser(), hddTranId.Value);
|
|
if (_dbRes.ErrorCode != "0")
|
|
{
|
|
return _dbRes;
|
|
}
|
|
else if (_dbRes.Extra == "True")//is realtime
|
|
{
|
|
SendTransactionServices _tpSend = new SendTransactionServices();
|
|
var result = _tpSend.ReleaseTransaction(new TFReleaseTxnRequest()
|
|
{
|
|
TfPin = _dbRes.Id,
|
|
RequestBy = GetStatic.GetUser(),
|
|
ProviderId = _dbRes.Msg
|
|
});
|
|
_dbRes.ErrorCode = result.ResponseCode;
|
|
_dbRes.Msg = result.Msg;
|
|
_dbRes.Id = "";
|
|
|
|
return _dbRes;
|
|
}
|
|
else
|
|
{
|
|
string newSession = Guid.NewGuid().ToString().Replace("-", "");
|
|
var result = at.GetHoldedTxnForApprovedByAdminCompliance(GetStatic.GetUser(), hddTranId.Value, newSession);
|
|
|
|
_dbRes.ErrorCode = result.ResponseCode;
|
|
_dbRes.Msg = result.Msg;
|
|
_dbRes.Id = "";
|
|
return _dbRes;
|
|
}
|
|
}
|
|
public void SaveComplianceApproveRemarks(string cashHoldLimitFlag = "")
|
|
{
|
|
saveCustomerDocument();
|
|
|
|
DbResult dbResult = obj.SaveApproveRemarksComplaince(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, remarksCompliance.Text, remarksOFAC.Text, remarksCashLimitHold.Text, cashHoldLimitFlag);
|
|
|
|
GetStatic.SetMessage(dbResult);
|
|
if (dbResult.ErrorCode != "0")
|
|
{
|
|
GetStatic.AlertMessage(Page);
|
|
}
|
|
else
|
|
{
|
|
//ShowComplianceList();
|
|
//ShowOFACList();
|
|
Response.Redirect("/Remit/Compliance/ApproveOFACandComplaince/Dashboard.aspx");
|
|
return;
|
|
}
|
|
}
|
|
|
|
public void AddComment()
|
|
{
|
|
var obj = new TranViewDao();
|
|
DbResult dbResult = obj.AddComment(GetStatic.GetUser(), lblControlNo.Text, hddTranId.Value, comments.Text);
|
|
ManageMessage(dbResult);
|
|
if (dbResult.ErrorCode != "0")
|
|
{
|
|
GetStatic.CallBackJs1(Page, "Result", "alert('" + dbResult.Msg + "')");
|
|
return;
|
|
}
|
|
//else
|
|
//{
|
|
// SetupEmailSetting();
|
|
// SendMailNew(lblControlNo.Text);
|
|
//}
|
|
}
|
|
|
|
protected void SendMailNew(string controlNo)
|
|
{
|
|
string msgSubject = "JME No: " + controlNo;
|
|
string msgBody = "Dear Sir/Madam,";
|
|
msgBody += "<br /><br /> The Complaint detials are as below:";
|
|
msgBody += "<br /><br /> Remitter Name: " + sName.Text;
|
|
msgBody += "<br /><br /> Beneficiary Name: " + rName.Text;
|
|
msgBody += "<br /><br /> Complaint Message: " + comments.Text;
|
|
|
|
Task.Factory.StartNew(() => { SendEmailForComplaint(msgSubject, msgBody, "support@jme.com.np"); });
|
|
}
|
|
|
|
private void SendEmailForComplaint(string msgSubject, string msgBody, string toEmailId)
|
|
{
|
|
SmtpMailSetting mail = new SmtpMailSetting
|
|
{
|
|
MsgBody = msgBody,
|
|
MsgSubject = msgSubject,
|
|
ToEmails = toEmailId
|
|
};
|
|
|
|
mail.SendSmtpMail(mail);
|
|
}
|
|
|
|
public void AddCommentApi()
|
|
{
|
|
var obj = new TranViewDao();
|
|
var randObj = new Random();
|
|
var sendSmsEmail = "";
|
|
//if (chkSms.Checked == true)
|
|
// sendSmsEmail = "sms";
|
|
//if (chkEmail.Checked == true)
|
|
// sendSmsEmail = "email";
|
|
//if (chkEmail.Checked && chkSms.Checked == true)
|
|
// sendSmsEmail = "both";
|
|
if (chkPush.Checked == true)
|
|
sendSmsEmail = "push";
|
|
|
|
AddComment();
|
|
if (chkPush.Checked == true)
|
|
{
|
|
string agentRefId = randObj.Next(1000000000, 1999999999).ToString();
|
|
var dr = obj.AddCommentApi(GetStatic.GetUser(), chkPush.Checked ? hdnCustomerId.Value : agentRefId, lblControlNo.Text, hddTranId.Value, comments.Text, sendSmsEmail);
|
|
if (dr[0].ToString() == "0" || dr[0].ToString().ToUpper() == "SUCCESS")
|
|
{
|
|
SendPushNotification(lblControlNo.Text, dr[1].ToString(), dr[2].ToString(), comments.Text);
|
|
}
|
|
else
|
|
{
|
|
GetStatic.AlertMessage(Page, dr[1].ToString());
|
|
}
|
|
}
|
|
}
|
|
|
|
private delegate void DoStuff(); //delegate for the action
|
|
|
|
private void SendMail()
|
|
{
|
|
var myAction = new DoStuff(AsyncMailProcessing);
|
|
//invoke it asynchrnously, control passes to next statement
|
|
myAction.BeginInvoke(null, null);
|
|
}
|
|
|
|
private void AsyncMailProcessing()
|
|
{
|
|
var bw = new BackgroundWorker();
|
|
// this allows our worker to report progress during work
|
|
bw.WorkerReportsProgress = true;
|
|
|
|
// what to do in the background thread
|
|
bw.DoWork += new DoWorkEventHandler(
|
|
delegate (object o, DoWorkEventArgs args)
|
|
{
|
|
var b = o as BackgroundWorker;
|
|
smtpMailSetting.SendSmtpMail(smtpMailSetting);
|
|
|
|
if (!string.IsNullOrEmpty(hddSAgentEmail.Value))
|
|
_mailToAgent.SendSmtpMail(_mailToAgent);
|
|
});
|
|
|
|
// what to do when progress changed (update the progress bar for example)
|
|
bw.ProgressChanged += new ProgressChangedEventHandler(
|
|
delegate (object o, ProgressChangedEventArgs args)
|
|
{
|
|
//label1.Text = string.Format("{0}% Completed", args.ProgressPercentage);
|
|
});
|
|
|
|
// what to do when worker completes its task (notify the user)
|
|
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(
|
|
delegate (object o, RunWorkerCompletedEventArgs args)
|
|
{
|
|
var dbResult = new DbResult();
|
|
dbResult.SetError("0", "Mail Sent Successfully", "");
|
|
GetStatic.PrintMessage(Page, dbResult);
|
|
});
|
|
|
|
bw.RunWorkerAsync();
|
|
}
|
|
|
|
private void SetupEmailSetting()
|
|
{
|
|
var obj = new SystemEmailSetupDao();
|
|
var ds = obj.GetDataForEmail(GetStatic.GetUser(), "Trouble", lblControlNo.Text, comments.Text);
|
|
if (ds == null)
|
|
return;
|
|
if (ds.Tables.Count == 0)
|
|
return;
|
|
if (ds.Tables.Count > 1)
|
|
{
|
|
//Email Server Settings
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
var dr1 = ds.Tables[0].Rows[0];
|
|
smtpMailSetting.SmtpServer = dr1["smtpServer"].ToString();
|
|
smtpMailSetting.SmtpPort = Convert.ToInt32(dr1["smtpPort"]);
|
|
smtpMailSetting.SendEmailId = dr1["sendID"].ToString();
|
|
smtpMailSetting.SendEmailPwd = dr1["sendPSW"].ToString();
|
|
smtpMailSetting.EnableSsl = GetStatic.GetCharToBool(dr1["enableSsl"].ToString());
|
|
|
|
_mailToAgent.SmtpServer = dr1["smtpServer"].ToString();
|
|
_mailToAgent.SmtpPort = Convert.ToInt32(dr1["smtpPort"]);
|
|
_mailToAgent.SendEmailId = dr1["sendID"].ToString();
|
|
_mailToAgent.SendEmailPwd = dr1["sendPSW"].ToString();
|
|
_mailToAgent.EnableSsl = GetStatic.GetCharToBool(dr1["enableSsl"].ToString());
|
|
}
|
|
if (ds.Tables[1].Rows.Count == 0)
|
|
return;
|
|
//Email Receiver
|
|
if (ds.Tables[1].Rows.Count > 0)
|
|
{
|
|
var dt = ds.Tables[1];
|
|
foreach (DataRow dr2 in dt.Rows)
|
|
{
|
|
if (!string.IsNullOrEmpty(smtpMailSetting.ToEmails))
|
|
smtpMailSetting.ToEmails = smtpMailSetting.ToEmails + ",";
|
|
smtpMailSetting.ToEmails = smtpMailSetting.ToEmails + dr2["email"].ToString();
|
|
}
|
|
}
|
|
|
|
//Email Subject and Body
|
|
if (ds.Tables[2].Rows.Count > 0)
|
|
{
|
|
var dr3 = ds.Tables[2].Rows[0];
|
|
if (dr3 == null)
|
|
return;
|
|
smtpMailSetting.MsgSubject = dr3[0].ToString();
|
|
smtpMailSetting.MsgBody = dr3[1].ToString();
|
|
|
|
_mailToAgent.MsgSubject = dr3[0].ToString();
|
|
_mailToAgent.MsgBody = dr3[1].ToString();
|
|
_mailToAgent.ToEmails = hddSAgentEmail.Value;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void UploadSms()
|
|
{
|
|
string sql = "exec [proc_sendSMSModule] @flag='sms'";
|
|
sql = sql + " ,@user=" + rl.FilterString(GetStatic.GetUser());
|
|
sql = sql + " ,@msg=" + rl.FilterString(comments.Text);
|
|
|
|
var obj = new SwiftDao();
|
|
string msg = obj.GetSingleResult(sql);
|
|
if (msg.Contains("Sucessfully"))
|
|
{
|
|
msgDb.SetError("0", msg, "");
|
|
comments.Text = "";
|
|
}
|
|
else
|
|
msgDb.SetError("1", msg, "");
|
|
GetStatic.PrintMessage(Page, msgDb);
|
|
}
|
|
|
|
public void SearchPartnerData(string ctrlNo, string mode, string lockMode, string viewType, string viewMsg, bool isArchive = false)
|
|
{
|
|
//pnlShowBankDetail.Visible = ShowBankDetail;
|
|
tranNoName.Text = GetStatic.GetTranNoName();
|
|
payoutPartnerPinDiv.Visible = true;
|
|
|
|
// TranNo = tranNo;
|
|
CtrlNo = ctrlNo;
|
|
TranFound = false;
|
|
DataSet ds = null;
|
|
if (isArchive)
|
|
{
|
|
//var obj = new ArchiveReportsDao();
|
|
//ds = obj.SelectTransaction(GetStatic.GetUser(), ctrlNo, TranNo, lockMode, viewType, viewMsg);
|
|
}
|
|
else
|
|
{
|
|
var obj = new TranViewDao();
|
|
ds = obj.SelectPartnerTransaction(GetStatic.GetUser(), ctrlNo, TranNo, lockMode, viewType, viewMsg);
|
|
}
|
|
|
|
if (ds == null)
|
|
{
|
|
rl.ManageInvalidControlNoAttempt(Page, GetStatic.GetUser(), "N");
|
|
return;
|
|
}
|
|
if (ds.Tables.Count > 1)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
TranFound = true;
|
|
rl.ManageInvalidControlNoAttempt(Page, GetStatic.GetUser(), "Y");
|
|
var tRow = ds.Tables[0].Rows[0];
|
|
|
|
lblControlNo.Text = tRow["controlNo"].ToString();
|
|
lblPartnerPayoutPin.Text = tRow["PartnerPIN"].ToString();
|
|
lblTranNo.Text = tRow["tranId"].ToString();
|
|
hddTranId.Value = tRow["tranId"].ToString();
|
|
|
|
// pnlExRate.Visible = false;
|
|
if (tRow["extCustomerId"].ToString() == "")
|
|
sCId.Visible = false;
|
|
else
|
|
sCustomerId.Text = tRow["extCustomerId"].ToString();
|
|
if (tRow["sMemId"].ToString() == "")
|
|
sDisMemId.Visible = false;
|
|
else
|
|
{
|
|
sDisMemId.Visible = true;
|
|
sMemId.Text = tRow["sMemId"].ToString();
|
|
}
|
|
|
|
if (tRow["rMemId"].ToString() == "")
|
|
rDisMemId.Visible = false;
|
|
else
|
|
{
|
|
rDisMemId.Visible = true;
|
|
rMemId.Text = tRow["rMemId"].ToString();
|
|
}
|
|
|
|
if (tRow["tranStatus"].ToString().ToUpper() == "CANCEL")
|
|
{
|
|
showHideTranStatus.Visible = true;
|
|
highLightTranStatus.InnerText = "CANCELLED Transaction";
|
|
}
|
|
if (tRow["tranStatus"].ToString().ToUpper() == "LOCK")
|
|
{
|
|
lockAudit.Visible = true;
|
|
var html = new StringBuilder("Locked By ");
|
|
html.Append(tRow["lockedBy"] + " on " + tRow["lockedDate"]);
|
|
lockAudit.InnerHtml = html.ToString();
|
|
}
|
|
|
|
if (mode == "u") // mode: modification transaction
|
|
{
|
|
sName.Text = GetLinkTextForModification("Sender Name", "senderName", tRow);
|
|
sName.Text = GetLinkTextForModification("Sender Name", "senderName", tRow);
|
|
sAddress.Text = GetLinkTextForModification("Sender Address", "sAddress", tRow);
|
|
sContactNo.Text = GetLinkTextForModification("Sender Contact No", "sContactNo", tRow);
|
|
sIdType.Text = GetLinkTextForModification("Sender Id Type", "sIdType", tRow);
|
|
sIdNo.Text = GetLinkTextForModification("Sender Id No", "sIdNo", tRow);
|
|
rName.Text = GetLinkTextForModification("Receiver Name", "receiverName", tRow);
|
|
rAddress.Text = GetLinkTextForModification("Receiver Address", "rAddress", tRow);
|
|
rContactNo.Text = GetLinkTextForModification("Receiver Contact No", "rContactNo", tRow);
|
|
rIdType.Text = GetLinkTextForModification("Receiver Id Type", "rIdType", tRow);
|
|
rIdNo.Text = GetLinkTextForModification("Receiver Id No", "rIdNo", tRow);
|
|
|
|
if (tRow["paymentMethod"].ToString().ToUpper() == "BANK DEPOSIT")
|
|
{
|
|
accountNo.Text = GetLinkTextForModification("Account No", "accountNo", tRow);
|
|
bankName.Text = GetLinkTextForModification("Bank Name", "BankName", tRow);
|
|
branchName.Text = GetLinkTextForModification("Branch Name", "pBranchName", tRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
sName.Text = tRow["senderName"].ToString(); //
|
|
sAddress.Text = tRow["sAddress"].ToString(); //
|
|
sContactNo.Text = tRow["sContactNo"].ToString(); //
|
|
sIdType.Text = tRow["sIdType"].ToString(); //
|
|
sIdNo.Text = tRow["sIdNo"].ToString(); //
|
|
|
|
rName.Text = tRow["receiverName"].ToString(); //
|
|
rAddress.Text = tRow["rAddress"].ToString(); //
|
|
rContactNo.Text = tRow["rContactNo"].ToString(); //
|
|
rIdType.Text = tRow["rIdType"].ToString(); //
|
|
rIdNo.Text = tRow["rIdNo"].ToString(); //
|
|
}
|
|
|
|
hdnRName.Value = tRow["receiverName"].ToString();
|
|
hdnSName.Value = tRow["senderName"].ToString();
|
|
|
|
sCountry.Text = tRow["sCountryName"].ToString();
|
|
sEmail.Text = tRow["sEmail"].ToString();
|
|
rCountry.Text = tRow["rCountryName"].ToString();
|
|
|
|
//Sending Agent Detail
|
|
hddSAgentEmail.Value = tRow["sAgentEmail"].ToString();
|
|
sAgentName.Text = tRow["sAgentName"].ToString();
|
|
sBranchName.Text = tRow["sBranchName"].ToString();
|
|
sAgentCountry.Text = tRow["sCountryName"].ToString();
|
|
sAgentDistrict.Text = tRow["sAgentDistrict"].ToString();
|
|
sAgentCity.Text = tRow["sAgentCity"].ToString();
|
|
sAgentLocation.Text = tRow["sAgentLocation"].ToString();
|
|
|
|
//Payout Agent Detail
|
|
|
|
pAgentCountry.Text = tRow["pAgentCountry"].ToString();
|
|
pAgentDistrict.Text = tRow["pAgentDistrict"].ToString();
|
|
pAgentCity.Text = tRow["pAgentCity"].ToString();
|
|
payer.Text = tRow["payerName"].ToString();
|
|
|
|
if (rl.HasRight(ModifyPayoutLocationId) || rl.HasRight(ModifyPayoutLocationIdAg))
|
|
{
|
|
if (mode == "u" && tRow["paymentMethod"].ToString().ToUpper() != "BANK DEPOSIT")
|
|
// mode: modification payout location
|
|
{
|
|
pAgentLocation.Text = GetLinkPayoutLocation("Payout Location", "pAgentLocation", tRow);
|
|
accountNo.Text = tRow["accountNo"].ToString();
|
|
bankName.Text = tRow["BankName"].ToString();
|
|
branchName.Text = tRow["BranchName"].ToString();
|
|
|
|
pBranchName.Text = tRow["pBranchName"].ToString();
|
|
}
|
|
else if (mode == "u" && tRow["paymentMethod"].ToString().ToUpper() == "BANK DEPOSIT")
|
|
//modify mode & bank deposit mode
|
|
{
|
|
accountNo.Text = GetLinkPayoutLocation("Account Number", "accountNo", tRow);
|
|
bankName.Text = GetLinkPayoutLocation("Bank Name", "BankName", tRow);
|
|
branchName.Text = GetLinkPayoutLocation("Branch Name", "BranchName", tRow);
|
|
pBranchName.Text = GetLinkPayoutLocation("Paying Branch", "pBranchName", tRow);
|
|
pAgentLocation.Text = tRow["pAgentLocation"].ToString();
|
|
}
|
|
else
|
|
{
|
|
pAgentLocation.Text = tRow["pAgentLocation"].ToString();
|
|
accountNo.Text = tRow["accountNo"].ToString();
|
|
bankName.Text = tRow["BankName"].ToString();
|
|
branchName.Text = tRow["BranchName"].ToString();
|
|
pBranchName.Text = tRow["pBranchName"].ToString();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
pAgentLocation.Text = tRow["pAgentLocation"].ToString();
|
|
accountNo.Text = tRow["accountNo"].ToString();
|
|
bankName.Text = tRow["BankName"].ToString();
|
|
branchName.Text = tRow["BranchName"].ToString();
|
|
pBranchName.Text = tRow["pBranchName"].ToString();
|
|
}
|
|
pAgentName.Text = tRow["pAgentName"].ToString();
|
|
modeOfPayment.Text = tRow["paymentMethod"].ToString();
|
|
|
|
tranStatus.Text = tRow["tranStatus"].ToString();
|
|
payStatus.Text = tRow["payStatus"].ToString();
|
|
|
|
sAgentComm.Text = GetStatic.FormatData(tRow["sAgentComm"].ToString(), "M");
|
|
sAgentCommCurr.Text = tRow["sAgentCommCurrency"].ToString();
|
|
if (payStatus.Text == "Paid")
|
|
{
|
|
payAgentComm.Visible = true;
|
|
pAgentComm.Text = GetStatic.FormatData(tRow["pAgentComm"].ToString(), "M");
|
|
pAgentCommCurr.Text = tRow["pAgentCommCurrency"].ToString();
|
|
}
|
|
|
|
pnlShowBankDetail.Visible = (tRow["paymentMethod"].ToString().ToUpper() == "BANK DEPOSIT" ? true : false);
|
|
if (tRow["paymentMethod"].ToString().ToUpper().Equals("MOBILE WALLET"))
|
|
{
|
|
pnlShowBankDetail.Visible = true;
|
|
}
|
|
|
|
//if (tRow["tranType"].ToString() == "I")
|
|
//{
|
|
// pnlExRate.Visible = true;
|
|
handling.Text = GetStatic.FormatData(tRow["handlingFee"].ToString(), "M");
|
|
exRate.Text = GetStatic.FormatData(tRow["exRate"].ToString(), "M");
|
|
// }
|
|
transferAmount.Text = GetStatic.FormatData(tRow["tAmt"].ToString(), "M");
|
|
serviceCharge.Text = GetStatic.FormatData(tRow["serviceCharge"].ToString(), "M");
|
|
total.Text = GetStatic.FormatData(tRow["cAmt"].ToString(), "M");
|
|
payoutAmt.Text = GetStatic.FormatData(tRow["pAmt"].ToString(), "M");
|
|
relationship.Text = tRow["relationship"].ToString();
|
|
purpose.Text = tRow["purpose"].ToString();
|
|
if (tRow["payoutMsg"].ToString() == "-")
|
|
trpMsg.Visible = false;
|
|
else
|
|
payoutMsg.Text = tRow["payoutMsg"].ToString();
|
|
|
|
tAmtCurr.Text = tRow["collCurr"].ToString();
|
|
scCurr.Text = tRow["collCurr"].ToString();
|
|
totalCurr.Text = tRow["collCurr"].ToString();
|
|
pAmtCurr.Text = tRow["payoutCurr"].ToString();
|
|
|
|
createdBy.Text = tRow["createdBy"].ToString();
|
|
createdDate.Text = tRow["createdDate"].ToString();
|
|
approvedBy.Text = tRow["approvedBy"].ToString();
|
|
approvedDate.Text = tRow["approvedDate"].ToString();
|
|
paidBy.Text = tRow["paidBy"].ToString();
|
|
paidDate.Text = tRow["paidDate"].ToString();
|
|
cancelRequestedBy.Text = tRow["cancelRequestBy"].ToString();
|
|
cancelRequestedDate.Text = tRow["cancelRequestDate"].ToString();
|
|
cancelApprovedBy.Text = tRow["cancelApprovedBy"].ToString();
|
|
cancelApprovedDate.Text = tRow["cancelApprovedDate"].ToString();
|
|
|
|
hddPayTokenId.Value = tRow["payTokenId"].ToString();
|
|
|
|
tblCreatedLog.Visible = createdBy.Text != "";
|
|
tblApprovedLog.Visible = approvedBy.Text != "";
|
|
tblPaidLog.Visible = paidBy.Text != "";
|
|
tblCancelRequestedLog.Visible = cancelRequestedBy.Text != "";
|
|
tblCancelApprovedLog.Visible = cancelApprovedBy.Text != "";
|
|
}
|
|
// PopulateVoucherDetail(TranNo);
|
|
//pnlLog.Visible = false;
|
|
if (ds.Tables[1].Rows.Count > 0)
|
|
{
|
|
//pnlLog.Visible = true;
|
|
var dt = ds.Tables[1];
|
|
var str = new StringBuilder("<table class=\"table table-responsive table-bordered table-striped\">");
|
|
str.Append("<tr>");
|
|
str.Append("<th>Updated By</th>");
|
|
str.Append("<th>Updated Date</th>");
|
|
str.Append("<th>Message</th>");
|
|
str.Append("</tr>");
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
str.Append("<tr>");
|
|
str.Append("<td align='left'>" + dr["createdBy"] + "</td>");
|
|
str.Append("<td align='left'>" + dr["createdDate"] + "</td>");
|
|
if (dr["fileType"].ToString() == "")
|
|
{
|
|
str.Append("<td align='left'>" + dr["message"] + "</td>");
|
|
}
|
|
else
|
|
{
|
|
str.Append("<td align='left'><a title='View Deposit Slip' target='_blank' href='/doc/" + lblControlNo.Text + "/" + dr["rowId"].ToString() + "." + dr["fileType"].ToString() + "'>" + dr["message"] + "</a></td>");
|
|
}
|
|
|
|
str.Append("</tr>");
|
|
}
|
|
str.Append("</table>");
|
|
rptLog.InnerHtml = str.ToString();
|
|
}
|
|
}
|
|
}
|
|
|
|
protected void btnReleaseCashHoldLimit_Click(object sender, EventArgs e)
|
|
{
|
|
SaveComplianceApproveRemarks("saveCashHoldRmks");
|
|
|
|
//DbResult result = obj.CheckTranInBothRule(GetStatic.GetUser(), hddTranId.Value);
|
|
//if (result.ErrorCode == "1")
|
|
//{
|
|
// SaveComplianceApproveRemarks("saveCashHoldRmks");
|
|
//}
|
|
//else
|
|
//{
|
|
// var apiRes = ApproveTxn();
|
|
// if (apiRes.ErrorCode == "0")
|
|
// {
|
|
// SaveComplianceApproveRemarks("saveCashHoldRmks");
|
|
// }
|
|
// else
|
|
// {
|
|
// GetStatic.SetMessage(apiRes);
|
|
// GetStatic.AlertMessage(Page);
|
|
// }
|
|
|
|
//}
|
|
}
|
|
|
|
protected void btnRejectTxn_Click(object sender, EventArgs e)
|
|
{
|
|
var tranId = hddTranId.Value;
|
|
var remarksIdValue = remarksId.Value;
|
|
var notRealTimeReason = notRealTimeRemarks.Text;
|
|
var res = CheckRemarksAvailability();
|
|
if (res)
|
|
{
|
|
DbResult _dbRes = at.GetTxnApproveData(GetStatic.GetUser(), tranId);
|
|
if (_dbRes.Extra == "True")//is realtime
|
|
{
|
|
string ProcessId = Guid.NewGuid().ToString().Replace("-", "") + ":" + _dbRes.Extra2 + ":statusSync";
|
|
|
|
CancelRequestServices crs = new CancelRequestServices();
|
|
JsonResponse _resp = crs.CancelTransaction(new CancelTxnPartner()
|
|
{
|
|
ProviderId = _dbRes.Msg,
|
|
PartnerPinNo = _dbRes.Id,
|
|
CancelReason = remarksIdValue,
|
|
ProcessId = ProcessId.Substring(ProcessId.Length - 40, 40)
|
|
});
|
|
|
|
if (_resp.ResponseCode == "0")
|
|
{
|
|
var remarksIdTextValue = remarksIdText.Value;
|
|
var dr = at.RejectHoldedTXN(GetStatic.GetUser(), hddTranId.Value, lblControlNo.Text, remarksIdTextValue);
|
|
GetStatic.SetMessage(dr);
|
|
if (dr.ErrorCode != "0")
|
|
{
|
|
GetStatic.AlertMessage(Page);
|
|
}
|
|
else
|
|
{
|
|
//ShowComplianceList();
|
|
//ShowOFACList();
|
|
Response.Redirect("/Remit/Compliance/ApproveOFACandComplaince/Dashboard.aspx");
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var dr = new DbResult()
|
|
{
|
|
ErrorCode = "1",
|
|
Msg = _resp.Msg
|
|
};
|
|
GetStatic.SetMessage(dr);
|
|
GetStatic.AlertMessage(Page);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var dr = at.RejectHoldedTXN(GetStatic.GetUser(), hddTranId.Value, lblControlNo.Text, notRealTimeRemarks.Text);
|
|
GetStatic.SetMessage(dr);
|
|
if (dr.ErrorCode != "0")
|
|
{
|
|
GetStatic.AlertMessage(Page);
|
|
}
|
|
else
|
|
{
|
|
//ShowComplianceList();
|
|
//ShowOFACList();
|
|
Response.Redirect("/Remit/Compliance/ApproveOFACandComplaince/Dashboard.aspx");
|
|
return;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public void ShowQuestionaireLink(string HoldTranId, string displayType, string mode)
|
|
{
|
|
pnlQuestionaire.Visible = true;
|
|
if (displayType == "cancelpartner")
|
|
{
|
|
pnlQuestionaire.Visible = false;
|
|
}
|
|
else
|
|
{
|
|
var obj = new TranViewDao();
|
|
DataTable res = obj.QuestionaireExists(GetStatic.GetUser(), HoldTranId);
|
|
if (res.Rows.Count > 0)
|
|
{
|
|
DataTable questionnnaire = obj.ShowQA(GetStatic.GetUser(), HoldTranId);
|
|
|
|
LoadGrid(questionnnaire, mode);
|
|
pnlQuestionaire.Visible = true;
|
|
questionaireDiv.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
pnlQuestionaire.Visible = false;
|
|
}
|
|
}
|
|
}
|
|
private void LoadGrid(DataTable questionnnaire, string mode)
|
|
{
|
|
if (questionnnaire.Rows.Count > 0)
|
|
{
|
|
//var questionnnaire = ds.Tables[5];
|
|
var str = new StringBuilder("<table class=\"table table-responsive table-bordered table-striped\">");
|
|
str.Append("<tr>");
|
|
str.Append("<th>SN</th>");
|
|
str.Append("<th>QSN</th>");
|
|
str.Append("<th>ANSWER_TEXT</th>");
|
|
str.Append("<th></th>");
|
|
str.Append("</tr>");
|
|
foreach (DataRow dr in questionnnaire.Rows)
|
|
{
|
|
str.Append("<tr>");
|
|
str.Append("<td contenteditable = 'false' align='left'>" + dr["SN"] + "</td>");
|
|
str.Append("<td contenteditable = 'false' align='left'>" + dr["QSN"] + "</td>");
|
|
str.Append("<td contenteditable = 'false' id = \"newValue\" name = \"newValue\" runat= \"server\" align='left'>" + dr["ANSWER_TEXT"] + " </td>");
|
|
// str.Append("<td> <button type = \"button\" id=\"editQ\" class=\"edit btn btn-primary\"> <span class=\"glyphicon glyphicon-edit\"></span> Edit </button> </td>");
|
|
|
|
if (mode.ToLower().Equals("search"))
|
|
{
|
|
str.Append("<td> <button type = \"button\" id=\"editQ\" class=\"edit btn btn-primary\"> Edit </button> </td>");
|
|
str.Append("<td> <button type = \"button\" id=\"updateQ\" class=\"update btn btn-primary\" disabled = \"disabled\" \" > Update </button> </td> ");
|
|
str.Append("<td style=\"display:none\" align='left'>" + dr["ROW_ID"] + "</td>");
|
|
}
|
|
|
|
// str.Append("<td align='left'><input class = \"edit btn btn-primary\" type= \"button\" id=\"editQ\" value=\"Edit\"/></td> <td align='left'><input class= \"btn btn-primary\" disabled=\"disabled\" id=\"updateQ\" onClick=\"UpdateQuestionare('" + dr["ROW_ID"] + "')\" value=\"Update\"/> </td>");
|
|
// str.Append("<td> <button type = \"button\" class=\"btn btn-primary\" id=\"updateQ\" onClick=\"UpdateQuestionare('" + dr["ROW_ID"] + "')\" > <span class=\"glyphicon glyphicon - edit\"></span> Update </button> </td> ");
|
|
// str.Append("<td align='left'><input class= \"btn btn-primary\" disabled=\"disabled\" id=\"updateQ\" onClick=\"UpdateQuestionare('" + dr["ROW_ID"] + "')\" value=\"Update\"/> </td>");
|
|
str.Append("</tr>");
|
|
}
|
|
str.Append("</table>");
|
|
qaGrid.InnerHtml = str.ToString();
|
|
}
|
|
}
|
|
|
|
//private void LoadGridOld()
|
|
//{
|
|
// _grid.ColumnList = new List<GridColumn>
|
|
// {
|
|
// new GridColumn("SN", "SN", "", "T"),
|
|
// new GridColumn("QSN", "Questionnaires", "Question", "T"),
|
|
// new GridColumn("ANSWER_TEXT", "Answer", "", "T"),
|
|
// // new GridColumn("updateQ", "Edit" , "" , "")
|
|
// };
|
|
|
|
// _grid.GridType = 1;
|
|
// _grid.GridDataSource = SwiftGrid.GridDS.RemittanceDB;
|
|
// _grid.AllowEdit = false;
|
|
// _grid.SortOrder = "ASC";
|
|
// _grid.RowIdField = "QUES_ID";
|
|
// _grid.ThisPage = "ModifyTran.aspx";
|
|
// _grid.InputPerRow = 4;
|
|
// _grid.GridMinWidth = 700;
|
|
// _grid.GridWidth = 100;
|
|
// _grid.IsGridWidthInPercent = true;
|
|
// //_grid.AllowApprove = swiftLibrary.HasRight(ApproveFunctionId);
|
|
// string sql = "EXEC [proc_transactionView] @flag = 's-QuestionaireAnswer',@tranId='" + HoldTranId + "'";
|
|
// _grid.SetComma();
|
|
|
|
// rpt_grid.InnerHtml = _grid.CreateGrid(sql);
|
|
//}
|
|
|
|
public bool CheckRemarksAvailability()
|
|
{
|
|
var remarksIdValue = remarksId.Value;
|
|
var notRealTimeReason = notRealTimeRemarks.Text;
|
|
if (notRealTimeRemarksDiv.Visible)
|
|
{
|
|
if (notRealTimeReason == "" || notRealTimeReason == "undeifned")
|
|
{
|
|
GetStatic.AlertMessage(this.Page, "Reject Remarks is compulsory if you reject the transaction");
|
|
return false;
|
|
}
|
|
|
|
}
|
|
if (pnlPartnerRemarks.Visible)
|
|
{
|
|
if (remarksIdValue == "" || remarksIdValue == "undeifned")
|
|
{
|
|
GetStatic.AlertMessage(this.Page, "Remarks is compulsory if you reject the transaction");
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
protected void btnUploadFile_Click(object sender, EventArgs e)
|
|
{
|
|
OnlineCustomerDao _cd = new OnlineCustomerDao();
|
|
string fileExtension = Path.GetExtension(reg_front_id.FileName);
|
|
|
|
if (reg_front_id.HasFile)
|
|
{
|
|
if (fileExtension.ToLower() != ".pdf")
|
|
{
|
|
GetStatic.AlertMessage(this.Page, "You can only upload PDF files!");
|
|
return;
|
|
}
|
|
|
|
if (string.IsNullOrEmpty(hdnCustomerId.Value))
|
|
{
|
|
GetStatic.AlertMessage(this.Page, "Invalid customer found!");
|
|
return;
|
|
}
|
|
|
|
var result = _cd.GetCustomerDetailsForFileUpload(hdnCustomerId.Value).Split('|');
|
|
var customerId = result[0];
|
|
var membershipId = result[1];
|
|
var registerDate = result[2];
|
|
|
|
string fileName = "Compliance_Doc_" + GetStatic.GetDateTimeStamp() + "_" + GetStatic.GetUser() + fileExtension;
|
|
string path = GetStatic.GetCustomerFilePath() + "CustomerDocument\\" + registerDate.Replace("-", "\\") + "\\" + membershipId + "\\ComplianceDocument";
|
|
if (!Directory.Exists(path))
|
|
Directory.CreateDirectory(path);
|
|
reg_front_id.SaveAs(path + "/" + fileName);
|
|
|
|
if (!string.IsNullOrEmpty(fileName))
|
|
_cd.UpdateCustomerDocumentCompliance("", customerId, fileName, "Compliance Document", "application/pdf", "0", GetStatic.GetUser(), lblTranNo.Text.Trim());
|
|
|
|
reg_front_id.Attributes.Clear();
|
|
reg_front_id.PostedFile.InputStream.Dispose();
|
|
|
|
GetStatic.AlertMessage(this.Page, "File uploaded successfully!");
|
|
|
|
PopulateDocument();
|
|
}
|
|
else
|
|
{
|
|
GetStatic.AlertMessage(this.Page, "No file to upload!");
|
|
return;
|
|
}
|
|
|
|
}
|
|
|
|
private void PopulateDocument()
|
|
{
|
|
OnlineCustomerDao _cd = new OnlineCustomerDao();
|
|
|
|
var result = _cd.GetCustomerComplianceDocumentByDocumentId(hdnCustomerId.Value, GetStatic.GetUser(), lblTranNo.Text);
|
|
|
|
if (result == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (result.Rows.Count <= 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
string customerId = result.Rows[0]["CUSTOMERID"].ToString();
|
|
string membershipId = result.Rows[0]["MEMBERSHIPID"].ToString();
|
|
string registerDate = result.Rows[0]["CUSTOMERDATE"].ToString();
|
|
StringBuilder sb = new StringBuilder();
|
|
foreach (DataRow item in result.Rows)
|
|
{
|
|
sb.AppendLine("<div class='col-md-3 form-group'>");
|
|
sb.AppendLine("<img src=\"/images/pdf-img.png\" style=\"width: 100%;\" onclick=\"showDocument('" + item["cdId"].ToString() + "', '" + item["fileType"].ToString() + "')\" />");
|
|
sb.AppendLine("</div>");
|
|
}
|
|
|
|
populateDocument.InnerHtml = sb.ToString();
|
|
}
|
|
private void SendPushNotification(string controlnumber, string deviceType, string deviceId, string comments)
|
|
{
|
|
SendNotificationRequestMobile request = new SendNotificationRequestMobile()
|
|
{
|
|
IsBulkNotification = false,
|
|
ProcessId = controlnumber,
|
|
ProviderId = NotifyTemplate.NONE.ToString(),
|
|
NotificationTypeId = NOTIFICATION_TYPE.PUSH_NOTIFICATION.ToString(),
|
|
Template = NotifyTemplate.NONE,
|
|
Recipients = new List<RecipientViewModel>()
|
|
{
|
|
new RecipientViewModel()
|
|
{
|
|
NotificationContent = new NotificationDTO() {
|
|
Body = comments,
|
|
Title = "JME",
|
|
MessageType = "INFO",
|
|
ClickActivity = "OPEN_ACTIVITY_NOTIFICATION"
|
|
},
|
|
Address= deviceType,
|
|
DeviceType =deviceId }
|
|
|
|
}
|
|
};
|
|
JsonResponse dbResult1 = NotifierV2.SendNotification(request, NOTIFICATION_TYPE.PUSH_NOTIFICATION);
|
|
|
|
}
|
|
|
|
}
|
|
}
|