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.

156 lines
6.7 KiB

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