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.

111 lines
4.4 KiB

  1. using System;
  2. using System.Data;
  3. using System.Text;
  4. using Swift.DAL.BL.Remit.Transaction;
  5. using Swift.web.Library;
  6. namespace Swift.web.Responsive.Reports.SOADomestic
  7. {
  8. public partial class drilDownUser : System.Web.UI.Page
  9. {
  10. private readonly TranReportDao rptDao = new TranReportDao();
  11. private readonly RemittanceLibrary sl = new RemittanceLibrary();
  12. protected void Page_Load(object sender, EventArgs e)
  13. {
  14. sl.CheckSession();
  15. string mode = GetStatic.ReadQueryString("mode", "").ToLower();
  16. if (mode == "download")
  17. {
  18. string format = "xls";
  19. string reportName = "soa";
  20. Response.Clear();
  21. Response.ClearContent();
  22. Response.ClearHeaders();
  23. Response.ContentType = "application/vnd.ms-excel";
  24. Response.AddHeader("Content-Disposition", "attachment; filename=" + reportName + "." + format);
  25. exportDiv.Visible = false;
  26. }
  27. LoadSoaHtml();
  28. }
  29. private void LoadSoaHtml()
  30. {
  31. var flag = GetStatic.ReadQueryString("flag", "");
  32. switch (flag)
  33. {
  34. case "PAY_DETAIL":
  35. rptDetail.Text = " >> Paid Principal Detail";
  36. break;
  37. case "PCOM_DETAIL":
  38. rptDetail.Text = " >> Paid Commission Detail";
  39. break;
  40. case "CNL_DETAIL":
  41. rptDetail.Text = " >> Canceled Principal Detail";
  42. break;
  43. case "CNLCOM_DETAIL":
  44. rptDetail.Text = " >> Canceled Commission Detail";
  45. break;
  46. case "SEND_DETAIL":
  47. rptDetail.Text = " >> Send Principal Detail";
  48. break;
  49. case "SCOM_DETAIL":
  50. rptDetail.Text = " >> Send Commission Detail";
  51. break;
  52. default:
  53. break;
  54. }
  55. var fromDate = GetStatic.ReadQueryString("DATE1", "");
  56. var toDate = GetStatic.ReadQueryString("DATE2", "");
  57. var agent = GetStatic.ReadQueryString("AGENT", "");
  58. var branch = GetStatic.ReadQueryString("BRANCH", "");
  59. var agent2 = GetStatic.ReadQueryString("AGENT2", "");
  60. var tranType = GetStatic.ReadQueryString("TRAN_TYPE", "");
  61. lblAgentName.Text = sl.GetAgentNameByMapCodeInt(agent);
  62. lblFrmDate.Text = fromDate;
  63. lbltoDate.Text = toDate;
  64. lblGeneratedDate.Text = DateTime.Now.ToString("MM/dd/yyyy");
  65. DataTable dt = rptDao.AgentSoaDrilldownUserReport(fromDate, toDate, agent, branch, agent2, flag, tranType);
  66. int cols = dt.Columns.Count;
  67. var str = new StringBuilder("<table class='TBLReport' border=\"1\" cellspacing=0 cellpadding=\"3\">");
  68. str.Append("<tr>");
  69. for (int i = 0; i < cols; i++)
  70. {
  71. str.Append("<th><div align=\"left\">" + dt.Columns[i].ColumnName + "</div></th>");
  72. }
  73. str.Append("</tr>");
  74. if (dt.Rows.Count == 0)
  75. {
  76. str.Append("<tr><td colspan='" + cols + "'><b>No Record Found</td></tr></table>");
  77. rptDiv.InnerHtml = str.ToString();
  78. return;
  79. }
  80. double totAmt = 0.00;
  81. foreach (DataRow dr in dt.Rows)
  82. {
  83. str.Append("<tr>");
  84. for (int i = 0; i < cols; i++)
  85. {
  86. if (i == 5)
  87. {
  88. totAmt = totAmt + double.Parse(dr[i].ToString());
  89. str.Append("<td><div align=\"right\">" + GetStatic.ShowDecimal(dr[i].ToString()) + "</div></td>");
  90. }
  91. else
  92. str.Append("<td><div align=\"left\">" + dr[i] + "</div></td>");
  93. }
  94. str.Append("</tr>");
  95. }
  96. str.Append("<tr>");
  97. str.Append("<td colspan='5'><div align=\"right\"><b>Total</b> </div></td>");
  98. str.Append("<td><div align=\"right\"><b>" + GetStatic.ShowDecimal(totAmt.ToString()) + "</b></div></td>");
  99. str.Append("<td>&nbsp;</td>");
  100. str.Append("</tr>");
  101. str.Append("</table>");
  102. rptDiv.InnerHtml = str.ToString();
  103. }
  104. }
  105. }