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; if (viewType == "SEARCH") { PanelKycDocumentUpload.Visible = false; } string showHideDocPanel = GetStatic.ReadQueryString("showDocPanel", ""); if(showHideDocPanel == "N") { PanelKycDocumentUpload.Visible = 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 = GetLinkBankPayoutLocation("Bank Name", "BankName", tRow); branchName.Text = GetLinkBankPayoutLocation("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["sCustomerId"].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(); // //editCust.Text = tRow["editCustomer"].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 = GetLinkBankPayoutLocation("Bank Name", "BankName", tRow); branchName.Text = GetLinkBankPayoutLocation("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(); postDate.Text = tRow["postDate"].ToString(); releaseDate.Text = tRow["releaseDate"].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(); if (tRow["rCountryName"].ToString().ToLower() == "nepal") { trBranch.Visible = false; } else { trBranch.Visible = true; } pAgentName.Text = tRow["pAgentName"].ToString(); //modeOfPayment.Text = tRow["paymentMethod"].ToString(); modeOfPayment.Text = GetPaymentMode("Mode of Payment", "paymentMethod", tRow); modeOfDeposit.Text = tRow["depositType"].ToString(); payer.Text = tRow["payerName"].ToString(); transactionReference.Text = tRow["trustPaymentId"].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["customerPremium"].ToString(), "M"); exRate.Text = GetStatic.ShowDecimalRate(tRow["exRate"].ToString()); // } pCountry.Text = tRow["rCountryName"].ToString(); rewardPoints.Text = tRow["rewardPoints"].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(); verifiedBy.Text = tRow["verifiedBy"].ToString(); verifiedDate.Text = tRow["verifiedDate"].ToString(); tblCreatedLog.Visible = createdBy.Text != ""; tblApprovedLog.Visible = approvedBy.Text != ""; tblPaidLog.Visible = paidBy.Text != ""; tblCancelRequestedLog.Visible = cancelRequestedBy.Text != ""; tblCancelApprovedLog.Visible = cancelApprovedBy.Text != ""; tblVerifiedLog.Visible = verifiedBy.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(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); foreach (DataRow dr in dt.Rows) { str.Append(""); str.Append(""); str.Append(""); if (dr["fileType"].ToString() == "") { str.Append(""); } else { str.Append(""); } if (dr["deleteComment"].ToString() == "Y" && dr["fieldName"].ToString() != "STATUS_SYNC") { str.Append(""); } str.Append(""); } str.Append("
Updated ByUpdated DateMessageAction
" + dr["createdBy"] + "" + dr["createdDate"] + "" + dr["message"] + "" + dr["message"] + "
"); 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(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); foreach (DataRow dr in dt.Rows) { str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); } str.Append("
S.NDoc TypeFile TypeFile NameUploaded Date
" + dr["SN"] + "" + dr["documentType"] + "" + dr["fileType"] + "" + dr["fileName"] + "" + dr["uploadedDate"] + "
"); 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 GetDocTypeListNew() { List docType = new List(); 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 customerDocument = new List(); List docList = new List(); List docTypeList = GetDocTypeListNew(); if (documentDetails != null) { docList = documentDetails.Rows.Cast().ToList(); foreach (var item in docTypeList) { var docDetails = docList.Where(x => x.Field("documentName").ToLower().ToString().Equals(item.ToLower())).FirstOrDefault(); if (docDetails != null) { CustomerDocumentView doc = new CustomerDocumentView { CdId = docDetails.Field("cdid").ToString(),// cast error aauxa eta FileName = docDetails.Field("fileName").ToString(), FileType = docDetails.Field("fileType") == null ? "" : docDetails.Field("fileType").ToString(), DocumentName = docDetails.Field("documentName").ToString(), ImageUrl = "/Handler/CustomerSignature.ashx?registerDate=" + Convert.ToDateTime(registerDate).ToString("yyyy-MM-dd") + "&customerId=" + customerId + "&membershipNo=" + membershipId + "&fileName=" + docDetails.Field("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 docList = new List(); if (documentDetails != null) { docList = documentDetails.Rows.Cast().ToList(); docList = docList.Where(x => !string.IsNullOrEmpty(x.Field("documentName"))).ToList(); var IdFront = docList.Where(x => x.Field("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("fileName").ToString(); } var IdBack = docList.Where(x => x.Field("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("fileName").ToString(); } var AdditionalIdFront = docList.Where(x => x.Field("documentName") != null && x.Field("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("fileName").ToString(); } else imageUrlArray[2] = ""; var AdditionalIdBack = docList.Where(x => x.Field("documentName") != null && x.Field("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("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(""); sb.AppendLine("" + sNo + ""); sb.AppendLine("" + item["PARTICULARS"].ToString() + ""); sb.AppendLine("" + item["TRANDATE"].ToString() + ""); sb.AppendLine("" + GetStatic.ShowDecimal(item["DEPOSITAMOUNT"].ToString()) + ""); sb.AppendLine(""); } 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("" + sNo + ""); sb.AppendLine("" + item["voucherNo"].ToString() + ""); sb.AppendLine("" + item["voucherDate"].ToString() + ""); sb.AppendLine("" + GetStatic.ShowDecimal(item["voucherAmt"].ToString()) + ""); sb.AppendLine("" + item["bankName"].ToString() + ""); sb.AppendLine(""); 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 = ""; return str; } public string GetLinkPayoutLocation(string label, string fieldName, DataRow dr) { var str = ""; return str; } public string GetLinkBankPayoutLocation(string label, string fieldName, DataRow dr) { string fieldValue = dr[fieldName].ToString().Trim(); var str = ""; return str; } public string GetPaymentMode(string label, string fieldName, DataRow dr) { string fieldValue = dr[fieldName].ToString().Trim(); var str = ""; 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>(); foreach (DataRow row in table.Rows) { var dict = new Dictionary(); 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(); } protected void btnEditCustomer_Click(object sender, EventArgs e) { string customerId = hdnCustomerId.Value; Response.Redirect("/Remit/Administration/CustomerRegistration/Manage.aspx?customerId=" + customerId + "&MethodName=GetCustomerDetailsForEdit"); } #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(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); foreach (DataRow dr in dt.Rows) { str.Append(""); str.Append(""); str.Append(""); if (dr["fileType"].ToString() == "") { str.Append(""); } else { str.Append(""); } if (dr["deleteComment"].ToString() == "Y" && dr["fieldName"].ToString() != "STATUS_SYNC") { str.Append(""); } str.Append(""); } str.Append("
Updated ByUpdated DateMessageAction
" + dr["createdBy"] + "" + dr["createdDate"] + "" + dr["message"] + "" + dr["message"] + "
"); 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(""); str.Append(""); for (int i = 0; i < cols; i++) { str.Append(""); } str.Append(""); foreach (DataRow dr in dt.Rows) { str.Append(""); str.Append(""); 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(""); str.Append(""); } str.Append("
" + dt.Columns[i].ColumnName + "
" + dr[0] + "" + value + "
"); 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(""); str.Append(""); for (int i = 2; i < cols; i++) { str.Append(""); } str.Append(""); foreach (DataRow dr in dt.Rows) { str.Append(""); for (int i = 2; i < cols; i++) { if (i == 4) { var strArr = dr["Matched ControlNo"].ToString().Split(','); var arrlen = strArr.Length; str.Append(""); } else if (i == 3) { if (dr["csDetailRecId"].ToString() == "0") { str.Append(""); } else { str.Append(""); } } else { str.Append(""); } } str.Append(""); } str.Append("
" + dt.Columns[i].ColumnName + "
"); for (int j = 0; j < arrlen; j++) { if (dr["csDetailRecId"].ToString() != "0") { str.Append(strArr[j]); } else { str.Append("" + strArr[j] + "  "); } } str.Append("" + dr[i].ToString() + "" + dr[i].ToString() + "" + dr[i].ToString() + "
"); 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(""); str.Append(""); for (int i = 2; i < cols; i++) { str.Append(""); } str.Append(""); foreach (DataRow dr in dt.Rows) { str.Append(""); for (int i = 2; i < cols; i++) { if (i == 4) { var strArr = dr["Matched Tran ID"].ToString().Split(','); var arrlen = strArr.Length; str.Append(""); } else if (i == 3) { //str.Append(""); str.Append(""); } else { str.Append(""); } } str.Append(""); } str.Append("
" + dt.Columns[i].ColumnName + "
"); for (int j = 0; j < arrlen; j++) { str.Append("" + strArr[j] + "  "); } str.Append("" + dr[i].ToString() + "" + dr[i].ToString() + "" + dr[i].ToString() + "
"); 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 += "

The Complaint detials are as below:"; msgBody += "

Remitter Name: " + sName.Text; msgBody += "

Beneficiary Name: " + rName.Text; msgBody += "

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 = GetLinkBankPayoutLocation("Bank Name", "BankName", tRow); branchName.Text = GetLinkBankPayoutLocation("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 = GetLinkBankPayoutLocation("Bank Name", "BankName", tRow); branchName.Text = GetLinkBankPayoutLocation("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(); modeOfPayment.Text = GetPaymentMode("Mode of Payment", "paymentMethod", tRow); modeOfDeposit.Text = tRow["depositType"].ToString(); tranStatus.Text = tRow["tranStatus"].ToString(); payStatus.Text = tRow["payStatus"].ToString(); transactionReference.Text = tRow["trustPaymentId"].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["customerPremium"].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(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); foreach (DataRow dr in dt.Rows) { str.Append(""); str.Append(""); str.Append(""); if (dr["fileType"].ToString() == "") { str.Append(""); } else { str.Append(""); } str.Append(""); } str.Append("
Updated ByUpdated DateMessage
" + dr["createdBy"] + "" + dr["createdDate"] + "" + dr["message"] + "" + dr["message"] + "
"); 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(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); str.Append(""); foreach (DataRow dr in questionnnaire.Rows) { str.Append(""); str.Append(""); str.Append(""); str.Append(""); // str.Append(""); if (mode.ToLower().Equals("search")) { str.Append(""); str.Append(" "); str.Append(""); } // str.Append(""); // str.Append(" "); // str.Append(""); str.Append(""); } str.Append("
SNQSNANSWER_TEXT
" + dr["SN"] + "" + dr["QSN"] + "" + dr["ANSWER_TEXT"] + " " + dr["ROW_ID"] + "
"); qaGrid.InnerHtml = str.ToString(); } } //private void LoadGridOld() //{ // _grid.ColumnList = new List // { // 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("
"); sb.AppendLine(""); sb.AppendLine("
"); } 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() { new RecipientViewModel() { NotificationContent = new NotificationDTO() { Body = comments, Title = "IME LONDON", MessageType = "INFO", ClickActivity = "OPEN_ACTIVITY_NOTIFICATION" }, Address= deviceType, DeviceType =deviceId } } }; JsonResponse dbResult1 = NotifierV2.SendNotification(request, NOTIFICATION_TYPE.PUSH_NOTIFICATION); } } }