using Swift.API.Common; using Swift.DAL.Remittance.Transaction; using Swift.web.Library; using Swift.DAL.SwiftDAL; using Swift.API.ThirdPartyApiServices; using System; using System.Data; using System.Linq; using System.Text; using System.Web.Helpers; namespace Swift.web.Remit.Transaction.ApproveTxn { public partial class ApproveInwardRemitance : System.Web.UI.Page { private ApproveInwardTransactionDao at = new ApproveInwardTransactionDao(); private const string ViewFunctionId = "90500000"; private const string ApproveSingleFunctionId = "90500001"; private const string RejectFuntionId = "90500002"; private readonly StaticDataDdl _sdd = new StaticDataDdl(); private readonly RemittanceLibrary _sl = new RemittanceLibrary(); protected void Page_Load(object sender, EventArgs e) { Authenticate(); GetStatic.AttachConfirmMsg(ref btnApprove, "Are you sure to APPROVE this transaction?"); GetStatic.AttachConfirmMsg(ref btnApproveAll, "Are you sure to APPROVE ALL this transaction?"); if (!IsPostBack) { antiForgery.InnerHtml = AntiForgery.GetHtml().ToString(); LoadDdl(); LoadSendingAgent(); LoadApproveGrid(""); MakeNumericTextBox(); // _sl.SetPayStatusDdl(ref status, "", "All"); if (!string.IsNullOrEmpty(GetCountry())) LoadApproveGrid(GetCountry()); LoadHoldSummary(); } GetStatic.ResizeFrame(Page); } private void MakeNumericTextBox() { Misc.MakeNumericTextbox(ref amt); } private void Authenticate() { _sdd.CheckAuthentication(ViewFunctionId); } private string GetCountry() { return GetStatic.ReadQueryString("country", ""); } private void LoadDdl() { // _sdd.SetDDL3(ref country, "EXEC proc_dropDownListsInboundApi @flag = 'a-countrySend'", "countryId", "countryName", "", "All"); _sdd.SetDDL(ref country, "EXEC proc_dropDownListsInboundApi @flag='a-countrySend'", "countryId", "countryName", "", "All"); var sql = "EXEC proc_dropDownLists @flag = 'a-countryPay'"; _sdd.SetDDL(ref rCountry, sql, "countryName", "countryName", "", "Select"); } protected void country_SelectedIndexChanged(object sender, EventArgs e) { LoadSendingAgent(); // Your event handling code here } protected void agent_SelectedIndexChanged(object sender, EventArgs e) { // Your event handling code here if (!string.IsNullOrEmpty(agent.Text)) { var sql = "EXEC proc_dropDownListsInboundApi @flag = 'branch', @agentId=" + _sdd.FilterString(agent.Text) + " , @user=" + _sdd.FilterString(GetStatic.GetUser()); _sdd.SetDDL(ref branch, sql, "agentId", "agentName", "", "All"); } else { branch.Items.Clear(); } } private void LoadSendingAgent() { if (!string.IsNullOrEmpty(country.Text)) _sdd.SetDDL(ref agent, "EXEC proc_dropDownListsInboundApi @flag = 'agentSend',@param=" + _sdd.FilterString(country.Text) + "", "agentId", "agentName", "", "All"); } private void LoadApproveGrid(string sCountry) { bool allowApprove = _sdd.HasRight(ApproveSingleFunctionId); bool allowMultiple = false/* _sdd.HasRight(ApproveMultipleFunctionId)*/; bool allowReject = _sdd.HasRight(RejectFuntionId); if (!string.IsNullOrEmpty(sCountry)) { if (sCountry.ToLower() == "All") { // Clear the selection and load data for all countries country.ClearSelection(); } else { // Set the selected country country.SelectedItem.Text = sCountry; } // LoadSendingAgent(); } //if (country.SelectedItem.Text == "" || country.SelectedItem.Text == "Select") //{ // //country.SelectedItem.Text = country.SelectedItem.Text; // country.SelectedItem.Text = "All"; //} var ds = at.GetHoldedTXNListAdmin(GetStatic.GetUser(), branch.Text, tranNo.Text, rCountry.Text, sender.Text, receiver.Text , amt.Text, GetStatic.GetBranch(), GetStatic.GetUserType() , "s-admin", txnDate.Text, user.Text, ControlNo.Text, ControlNo1.Text, "I", country.SelectedItem.Text, agent.Text, branch.Text); var dt = ds.Tables[0]; var sb = new StringBuilder(); var sbHead = new StringBuilder(); var colspanCount = 0; int cols = dt.Columns.Count; int cnt = 0; sbHead.Append(""); if (dt.Rows.Count > 0) { sb.Append(""); if (allowMultiple) { colspanCount++; sb.Append(""); } sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); //sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); //sb.Append(""); //sb.Append(""); sb.Append(""); sb.Append(""); if (allowApprove) { colspanCount++; sb.Append(""); sb.Append(""); } if (allowApprove) { colspanCount++; sb.Append(""); } sb.Append(""); foreach (DataRow dr in dt.Rows) { cnt = cnt + 1; sb.AppendLine(cnt % 2 == 1 ? "" : ""); if (allowMultiple) sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); //sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); //sb.Append(""); //sb.Append(""); sb.Append(""); sb.Append(""); //if (allowApprove) // sb.Append(""); //if (allowApprove && dr["collMode"].ToString() == "Bank Deposit") // sb.Append(""); //else // sb.Append(""); //if (allowModify) // sb.Append(""); if (allowApprove || allowReject) { sb.Append(""); } sb.Append(""); } btnApproveAll.Visible = allowMultiple; } else { btnApproveAll.Visible = false; } sbHead.Append(""); sbHead.Append(""); sbHead.Append(sb.ToString()); sbHead.Append("
"); if (dt.Rows.Count > 0) sb.Append(""); sb.Append("Tran IdPIN No.Partner IdSending BranchTxn ChannelCountrySenderReceiverPayout AmtColl AmtS ChargePayment MethodPayment OptionVoucher NoTran DateUser
" + dr["id"].ToString() + "" + dr["controlNo"].ToString() + "" + dr["controlNo2"].ToString() + "" + dr["BranchName"].ToString() + "" + dr["tranType"].ToString() + "" + dr["country"].ToString() + "" + dr["sender"].ToString() + "" + dr["receiver"].ToString() + ""); sb.Append(GetStatic.FormatData(dr["pAmt"].ToString(), "M")); sb.Append(""); sb.Append(GetStatic.FormatData(dr["amt"].ToString(), "M")); sb.Append(""); sb.Append(GetStatic.FormatData(dr["serviceCharge"].ToString(), "M")); //sb.Append(GetStatic.FormatData(dr["serviceCharge"].ToString(), "M")); sb.Append("" + dr["collMode"].ToString() + "" + dr["depositType"].ToString() + "" + dr["voucherNo"].ToString() + "" + GetStatic.FormatData(dr["txnDate"].ToString(), "D") + "" + dr["txncreatedBy"].ToString() + "View DetailsView Mapping Modify Transaction"); //var tb = Misc.MakeNumericTextbox("amt_" + dr["id"].ToString(), "amt_" + dr["id"].ToString(), "", "style='width:60px ! important'", "CheckAmount(" + dr["id"].ToString() + ", " + dr["amt"].ToString() + ");"); //sb.Append(tb); if (allowApprove) sb.Append(" "); if (allowReject) sb.Append(" "); sb.Append("
"); sbHead.Append("" + dt.Rows.Count.ToString() + " Transaction(s) found : Approve Transaction List
"); rptGrid.InnerHtml = sbHead.ToString(); approveList.Visible = true; selfTxn.Visible = false; if (dt.Rows.Count == 0) { _sl.ManageInvalidControlNoAttempt(Page, GetStatic.GetUser(), "N"); return; } GetStatic.ResizeFrame(Page); } protected void btnSearch_Click(object sender, EventArgs e) { LoadApproveGrid(""); } protected void btnApproveAll_Click(object sender, EventArgs e) { var dr = ApproveAllTxn(); GetStatic.PrintMessage(Page, dr); if (dr.ErrorCode.Equals("0")) { LoadApproveGrid(""); LoadHoldSummary(); } } private DbResult ApproveAllTxn() { var idList1 = GetStatic.ReadFormData("rowId", ""); if (string.IsNullOrWhiteSpace(idList1)) { var dr = new DbResult(); dr.SetError("1", "Please select one or more transaction approve", ""); return dr; } return at.ApproveAllHoldedTXN(GetStatic.GetUser(), idList1); } private void LoadHoldSummary() { var ds = at.GetHoldAdminTransactionSummary(GetStatic.GetUser(), GetStatic.GetBranch(), GetStatic.GetUserType()); if (ds == null || ds.Tables.Count == 0) return; var dt = ds.Tables[0]; var sbHead = new StringBuilder(); int count = 0; if (dt.Rows.Count > 0) { sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); foreach (DataRow dr in dt.Rows) { sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); count = count + int.Parse(dr["txnCount"].ToString()); } sbHead.Append(""); sbHead.Append(""); sbHead.Append(""); sbHead.Append("
HOLD Transaction Summary
S.N.Sending CountryCount
" + dr["sn"] + "" + dr["country"] + "" + dr["txnCount"] + "
Total" + count.ToString() + "
"); txnSummary.InnerHtml = sbHead.ToString(); } } protected void btnApprove_Click(object sender, EventArgs e) { ApproveTxn(); } private void ApproveTxn() { AntiForgery.Validate(); //ApproveTxnMain(); DbResult _dbRes = at.GetTxnApproveDataIMEPay(GetStatic.GetUser(), hddTranNo.Value); if (_dbRes.ErrorCode != "0") { GetStatic.PrintMessage(Page, _dbRes); return; } //else if (_dbRes.Extra == "True")//is realtime if (_dbRes.Extra2 == "True")//is realtime { SendTransactionServices _tpSend = new SendTransactionServices(); string ProcessId = Guid.NewGuid().ToString().Replace("-", "") + ":" + _dbRes.Extra1 + ":releaseTxn"; var result = _tpSend.ReleaseTransaction(new TFReleaseTxnRequest() { TfPin = _dbRes.Id, TxnId = _dbRes.Extra, RequestBy = GetStatic.GetUser(), ProviderId = _dbRes.Extra1, ProcessId = ProcessId.Substring(ProcessId.Length - 40, 40) }); _dbRes.ErrorCode = result.ResponseCode; _dbRes.Msg = result.Msg; _dbRes.Id = ""; if (_dbRes.ErrorCode != "0") { GetStatic.PrintMessage(Page, _dbRes); return; } else { ApproveTxnMain(); } } else { ApproveTxnMain(); } } protected void ApproveTxnMain() { DbResult dbResult = at.ApproveHoldedTXN(GetStatic.GetUser(), hddTranNo.Value); if (dbResult.ErrorCode == "0") { LoadApproveGrid(""); LoadHoldSummary(); GetStatic.PrintMessage(Page, dbResult); return; } else if (dbResult.ErrorCode == "11") { string url = "../NewReceiptIRH.aspx?printType=&controlNo=" + dbResult.Id; Response.Redirect(url); } else { GetStatic.PrintMessage(Page, dbResult); return; } } protected void btnReject_Click(object sender, EventArgs e) { RejectTxn(); } private void RejectTxn() { var dr = at.RejectHoldedTXN(GetStatic.GetUser(), hddTranNo.Value); GetStatic.PrintMessage(Page, dr); if (dr.ErrorCode.Equals("0")) { LoadApproveGrid(""); LoadHoldSummary(); } } } }