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.

138 lines
6.0 KiB

  1. using Swift.DAL.BL.Remit.Transaction;
  2. using Swift.DAL.SwiftDAL;
  3. using Swift.web.Library;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Web;
  10. using System.Web.UI;
  11. using System.Web.UI.WebControls;
  12. namespace Swift.web.Remit.Transaction.TxnVerify
  13. {
  14. public partial class VerifyTxn : System.Web.UI.Page
  15. {
  16. private ApproveTransactionDao at = new ApproveTransactionDao();
  17. private readonly StaticDataDdl _sdd = new StaticDataDdl();
  18. private const string ViewFunctionId = "20201600";
  19. private const string ViewDetailsFunctionId = "20201610";
  20. private const string ApproveSingleFunctionId = "20201620";
  21. private const string RejectFuntionId = "20201630";
  22. private const string ModifyFunctionId = "20201640";
  23. protected void Page_Load(object sender, EventArgs e)
  24. {
  25. if (!IsPostBack)
  26. {
  27. }
  28. PopulateList();
  29. Authenticate();
  30. }
  31. private void Authenticate()
  32. {
  33. _sdd.CheckAuthentication(ViewFunctionId);
  34. }
  35. private void PopulateList()
  36. {
  37. bool allowApprove = _sdd.HasRight(ApproveSingleFunctionId); ;
  38. bool allowReject = _sdd.HasRight(RejectFuntionId);
  39. bool allowViewDetails = _sdd.HasRight(ViewDetailsFunctionId);
  40. var ds = at.GetAllTxnDataForVerifyCreatedFromSendTabPage(null, GetStatic.GetUser());
  41. var dt = ds.Tables[0];
  42. var sb = new StringBuilder();
  43. var sbHead = new StringBuilder();
  44. var colspanCount = 0;
  45. int cols = dt.Columns.Count;
  46. int cnt = 0;
  47. sbHead.Append("<table class = 'table table-responsive table-striped table-bordered' >");
  48. if (dt.Rows.Count > 0)
  49. {
  50. sb.Append("<tr>");
  51. sb.Append("<th>PIN No.</th>");
  52. sb.Append("<th>Agent Name.</th>");
  53. sb.Append("<th>Country</th>");
  54. sb.Append("<th>Sender</th>");
  55. sb.Append("<th>Receiver</th>");
  56. sb.Append("<th>Coll Amt</th>");
  57. sb.Append("<th>Coll.Mode</th>");
  58. sb.Append("<th>Voucher No</th>");
  59. sb.Append("<th nowrap='nowrap'>Tran Date</th>");
  60. sb.Append("<th>User</th>");
  61. if (allowApprove)
  62. {
  63. colspanCount++;
  64. sb.Append("<th>View</th>");
  65. }
  66. if (allowReject)
  67. {
  68. colspanCount++;
  69. sb.Append("<th>Actions</th>");
  70. }
  71. sb.Append("</tr>");
  72. foreach (DataRow dr in dt.Rows)
  73. {
  74. cnt = cnt + 1;
  75. sb.AppendLine(cnt % 2 == 1
  76. ? "<tr class=\"oddbg\" onMouseOver=\"this.className='GridOddRowOver'\" onMouseOut=\"this.className='oddbg'\" >"
  77. : "<tr class=\"evenbg\" onMouseOver=\"this.className='GridEvenRowOver'\" onMouseOut=\"this.className='evenbg'\">");
  78. sb.Append("<td>" + dr["controlNo"].ToString() + "</td>");
  79. sb.Append("<td>" + dr["branch"].ToString() + "</td>");
  80. sb.Append("<td>" + dr["country"].ToString() + "</td>");
  81. sb.Append("<td>" + dr["sender"].ToString() + "</td>");
  82. sb.Append("<td>" + dr["receiver"].ToString() + "</td>");
  83. sb.Append("<td style=\"font-weight: bold; font-style: italic; text-align: right;\">");
  84. sb.Append(GetStatic.FormatData(dr["amt"].ToString(), "M"));
  85. sb.Append("<td>" + dr["paymentMethod"].ToString() + "</td>");
  86. sb.Append("<td>" + dr["voucherNo"].ToString() + "</td>");
  87. sb.Append("<td>" + GetStatic.FormatData(dr["txnDate"].ToString(), "D") + "</td>");
  88. sb.Append("<td>" + dr["txncreatedBy"].ToString() + "</td>");
  89. if (allowViewDetails)
  90. sb.Append("<td><button class='btn btn-xs btn-primary' style='cursor:pointer' title = 'View Details' alt = 'View Details' onclick = 'ViewDetails(" + dr["id"].ToString() + ");'> <i class='fa fa-eye'></i> </button></td>");
  91. if (allowApprove || allowReject)
  92. {
  93. sb.Append("<td nowrap = \"nowrap\">");
  94. if (allowApprove)
  95. sb.Append("&nbsp;<input type = 'button' class='btn btn-xs btn-primary m-t-25' onclick = \"Approve(" + dr["id"].ToString() + ");\" value = 'Approve' id = 'btn_" + dr["id"].ToString() + "' />");
  96. if (allowReject)
  97. sb.Append("&nbsp;<input type = 'button' class='btn btn-xs btn-primary m-t-25' onclick = \"Reject(" + dr["id"].ToString() + ");\" value = 'Reject' id = 'btn_r_" + dr["id"].ToString() + "' />");
  98. sb.Append("</td>");
  99. }
  100. sb.Append("</tr>");
  101. }
  102. }
  103. sbHead.Append("<tr><td colspan='" + cols + "' id='appCnt' nowrap='nowrap'>");
  104. sbHead.Append("<b>" + dt.Rows.Count.ToString() + " Transaction(s) found : <b>Approve Transaction List</b> </b></td>");
  105. sbHead.Append("</tr>");
  106. sbHead.Append(sb.ToString());
  107. sbHead.Append("</table>");
  108. rptGrid.InnerHtml = sbHead.ToString();
  109. approveList.Visible = true;
  110. rptGrid.Visible = true;
  111. }
  112. protected void btnApprove_Click(object sender, EventArgs e)
  113. {
  114. DbResult dbResult = at.VerifyTransaction(hddTranNo.Value, GetStatic.GetUser());
  115. GetStatic.PrintMessage(Page, dbResult);
  116. PopulateList();
  117. }
  118. protected void btnReject_Click(object sender, EventArgs e)
  119. {
  120. var dr = at.RejectHoldedTXN(GetStatic.GetUser(), hddTranNo.Value);
  121. GetStatic.PrintMessage(Page, dr);
  122. PopulateList();
  123. }
  124. }
  125. }