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.

200 lines
8.0 KiB

  1. using System;
  2. using System.Data;
  3. using Swift.DAL.BL.Remit.Transaction;
  4. using Swift.DAL.SwiftDAL;
  5. using Swift.web.Library;
  6. using System.Text;
  7. namespace Swift.web.Remit.Transaction.Approve
  8. {
  9. public partial class Manage : System.Web.UI.Page
  10. {
  11. protected const string GridName = "grdAppDomTxn";
  12. ApproveTransactionDao at = new ApproveTransactionDao();
  13. private const string ViewFunctionId = "20121700";
  14. private const string ApproveSingleFunctionId = "20121730";
  15. private readonly StaticDataDdl _sdd = new StaticDataDdl();
  16. protected void Page_Load(object sender, EventArgs e)
  17. {
  18. Authenticate();
  19. GetStatic.AttachConfirmMsg(ref btnApprove, "Are you sure to APPROVE this transaction?");
  20. if (!IsPostBack)
  21. {
  22. MakeNumericTextBox();
  23. if (!string.IsNullOrEmpty(GetAgent()))
  24. LoadGrid(GetAgent());
  25. LoadHoldSummary();
  26. }
  27. GetStatic.ResizeFrame(Page);
  28. }
  29. private string GetAgent()
  30. {
  31. return GetStatic.ReadQueryString("sAgent", "");
  32. }
  33. private string GetAgentName()
  34. {
  35. return GetStatic.ReadQueryString("sAgentName", "");
  36. }
  37. private void MakeNumericTextBox()
  38. {
  39. Misc.MakeNumericTextbox(ref amt);
  40. }
  41. private void LoadGrid(string agentId)
  42. {
  43. bool allowApprove = _sdd.HasRight(ApproveSingleFunctionId);
  44. if (agentId != "")
  45. {
  46. agent.Value = agentId;
  47. agent.Text = GetAgentName();
  48. }
  49. var ds = at.GetHoldTxnDetailDomestic(GetStatic.GetUser(), agent.Value, sender.Text, receiver.Text
  50. , ControlNo.Text, amt.Text, txnDate.Text, user.Text);
  51. var dt = ds.Tables[0];
  52. var sb = new StringBuilder();
  53. var sbHead = new StringBuilder();
  54. var colspanCount = 0;
  55. int cols = dt.Columns.Count;
  56. int cnt = 0;
  57. sbHead.Append("<table class = 'TBLData' style = 'width:100%' >");
  58. if (dt.Rows.Count > 0)
  59. {
  60. sb.Append("<tr>");
  61. sb.Append("<th>S.N.</th>");
  62. sb.Append("<th>Tran Id</th>");
  63. sb.Append("<th>Control No</th>");
  64. sb.Append("<th>Amount</th>");
  65. if (allowApprove)
  66. {
  67. colspanCount++;
  68. sb.Append("<th></th>");
  69. }
  70. sb.Append("<th nowrap='nowrap'>Txn Date</th>");
  71. sb.Append("<th>User</th>");
  72. sb.Append("<th>Sender Id</th>");
  73. sb.Append("<th nowrap='nowrap'>Sender Name</th>");
  74. sb.Append("<th>Sender Address</th>");
  75. sb.Append("<th>Receiver Name</th>");
  76. sb.Append("</tr>");
  77. foreach (DataRow dr in dt.Rows)
  78. {
  79. cnt = cnt + 1;
  80. sb.AppendLine(cnt % 2 == 1
  81. ? "<tr class=\"oddbg\" onMouseOver=\"this.className='GridOddRowOver'\" onMouseOut=\"this.className='oddbg'\" >"
  82. : "<tr class=\"evenbg\" onMouseOver=\"this.className='GridEvenRowOver'\" onMouseOut=\"this.className='evenbg'\">");
  83. sb.Append("<td>" + dr["S.N."].ToString() + "</td>");
  84. sb.Append("<td>" + dr["Tran Id"].ToString() + "</td>");
  85. sb.Append("<td>" + dr["Control No"].ToString() + "</td>");
  86. sb.Append("<td style=\"font-weight: bold; font-style: italic; text-align: right;\">");
  87. sb.Append(GetStatic.FormatData(dr["Amount"].ToString(), "M"));
  88. if (allowApprove)
  89. {
  90. sb.Append("<td nowrap = \"nowrap\">");
  91. var tb = Misc.MakeNumericTextbox("amt_" + dr["Tran Id"].ToString(), "amt_" + dr["Tran Id"].ToString(), "", "style='width:60px ! important'", "CheckAmount(" + dr["Tran Id"].ToString() + ", " + dr["Amount"].ToString() + ");");
  92. sb.Append(tb);
  93. if (allowApprove)
  94. sb.Append("<input type = 'button' onclick = \"Approve(" + dr["Tran Id"].ToString() + ");\" value = 'Approve' id = 'btn_" + dr["Tran Id"].ToString() + "' disabled='disabled' />");
  95. sb.Append("</td>");
  96. }
  97. sb.Append("<td>" + GetStatic.FormatData(dr["Txn Date"].ToString(), "D") + "</td>");
  98. sb.Append("<td>" + dr["User"].ToString() + "</td>");
  99. sb.Append("<td>" + dr["Sender Id"].ToString() + "</td>");
  100. sb.Append("<td>" + dr["Sender Name"].ToString() + "</td>");
  101. sb.Append("<td>" + dr["Sender Address"].ToString() + "</td>");
  102. sb.Append("<td>" + dr["Receiver Name"].ToString() + "</td>");
  103. sb.Append("</tr>");
  104. }
  105. }
  106. sbHead.Append("<tr><td colspan='" + cols + "' id='appCnt' nowrap='nowrap'>");
  107. sbHead.Append("<b>" + dt.Rows.Count.ToString() + " Transaction(s) found : <b>Approve Transaction List</b> </b></td>");
  108. sbHead.Append("</tr>");
  109. sbHead.Append(sb.ToString());
  110. sbHead.Append("</table>");
  111. rptGrid.InnerHtml = sbHead.ToString();
  112. approveList.Visible = true;
  113. selfTxn.Visible = false;
  114. GetStatic.ResizeFrame(Page);
  115. }
  116. private void Authenticate()
  117. {
  118. _sdd.CheckAuthentication(ViewFunctionId);
  119. }
  120. protected void btnSearch_Click(object sender, EventArgs e)
  121. {
  122. LoadGrid("");
  123. }
  124. private void ApproveSingle()
  125. {
  126. DbResult dbResult = at.ApproveSingleDom(GetStatic.GetUser(), hddTranNo.Value);
  127. if (dbResult.ErrorCode == "0")
  128. {
  129. LoadGrid("");
  130. LoadHoldSummary();
  131. GetStatic.PrintMessage(Page, dbResult);
  132. return;
  133. }
  134. else
  135. {
  136. GetStatic.PrintMessage(Page, dbResult);
  137. return;
  138. }
  139. }
  140. protected void btnApprove_Click(object sender, EventArgs e)
  141. {
  142. ApproveSingle();
  143. }
  144. private void LoadHoldSummary()
  145. {
  146. var ds = at.GetHoldTxnSummaryDomestic(GetStatic.GetUser());
  147. if (ds == null || ds.Tables.Count == 0)
  148. return;
  149. var dt = ds.Tables[0];
  150. var sbHead = new StringBuilder();
  151. int count = 0;
  152. if (dt.Rows.Count > 0)
  153. {
  154. sbHead.Append("<table class = 'TBLData' style = 'width:500px'>");
  155. sbHead.Append("<tr>");
  156. sbHead.Append("<th colspan='3'>HOLD Transaction Summary</th>");
  157. sbHead.Append("</tr>");
  158. sbHead.Append("<tr>");
  159. sbHead.Append("<th>S.N.</th>");
  160. sbHead.Append("<th>Sending Agent</th>");
  161. sbHead.Append("<th>Count</th>");
  162. sbHead.Append("</tr>");
  163. foreach (DataRow dr in dt.Rows)
  164. {
  165. sbHead.Append("<tr>");
  166. sbHead.Append("<td>" + dr["S.N."] + "</td>");
  167. sbHead.Append("<td><a href='Manage.aspx?sAgent=" + dr["sAgent"] + "&sAgentName=" + dr["Agent"] + "'>" + dr["Agent"] + "</a></td>");
  168. sbHead.Append("<td align=\"center\">" + dr["TXN Count"] + "</td>");
  169. sbHead.Append("</tr>");
  170. count = count + int.Parse(dr["TXN Count"].ToString());
  171. }
  172. sbHead.Append("<tr><td colspan='2'><b>Total</b></td>");
  173. sbHead.Append("<td align=\"center\"><b>" + count.ToString() + "</b></td>");
  174. sbHead.Append("</tr>");
  175. sbHead.Append("</table>");
  176. txnSummary.InnerHtml = sbHead.ToString();
  177. }
  178. }
  179. }
  180. }