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.

153 lines
6.3 KiB

  1. using Swift.web.Library;
  2. using System;
  3. using System.Data;
  4. using System.Text;
  5. namespace Swift.web.Agent
  6. {
  7. public partial class Dashboard2 : System.Web.UI.Page
  8. {
  9. private RemittanceLibrary rl = new RemittanceLibrary();
  10. private string VaultTransferViewFunctionId = "20198000";
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. rl.CheckSession();
  14. if (!IsPostBack)
  15. {
  16. PopulateMenu();
  17. userName.Text = GetStatic.GetAgentName() + " (" + GetStatic.ReadSession("user", "") + ")";
  18. if (rl.HasRight(VaultTransferViewFunctionId))
  19. {
  20. PopulateNotification();
  21. }
  22. }
  23. }
  24. protected void PopulateNotification()
  25. {
  26. string sql = "EXEC proc_notification @user = " + rl.FilterString(getUser()) + ", @portal='agent', @branch_id=" + rl.FilterString(GetStatic.GetBranch());
  27. DataTable dt = rl.ExecuteDataTable(sql);
  28. if (null == dt)
  29. {
  30. return;
  31. }
  32. if (dt.Rows.Count == 0)
  33. {
  34. return;
  35. }
  36. StringBuilder sb = new StringBuilder();
  37. int counter = 0;
  38. foreach (DataRow item in dt.Rows)
  39. {
  40. counter += Convert.ToInt16(item["count"].ToString());
  41. sb.AppendLine("<li class=\"clearfix\">");
  42. sb.AppendLine("<a href=\"" + item["link"].ToString() + "\" target=\"mainFrame\">");
  43. sb.AppendLine("<span class=\"pull-left\">");
  44. sb.AppendLine("<i class=\"fa fa-bell\" style='color:#0e96ec'></i>");
  45. sb.AppendLine("</span>");
  46. sb.AppendLine("<span class=\"media-body\">");
  47. sb.AppendLine(item["msg"].ToString());
  48. sb.AppendLine("<em>" + item["msg1"].ToString() + "</em>");
  49. sb.AppendLine("</span>");
  50. sb.AppendLine("</a></li>");
  51. }
  52. countNotification.InnerHtml = counter.ToString();
  53. notiUL.InnerHtml = "<li class=\"notify-title\">" + counter.ToString() + " New Notification(s)</li>" + sb.ToString();
  54. }
  55. protected string getUser()
  56. {
  57. return GetStatic.GetUser();
  58. }
  59. protected void PopulateMenu()
  60. {
  61. StringBuilder sb = new StringBuilder();
  62. string sql = "exec menu_proc @flag = 'agent', @user = '" + getUser() + "'";
  63. DataSet ds = rl.ExecuteDataset(sql);
  64. DataTable menuGroup = ds.Tables[0];
  65. //sb.AppendLine("<div id=\"navbar-main\" class=\"navbar-collapse collapse\">");
  66. //sb.AppendLine("<ul class=\"nav navbar-nav\">");
  67. //sb.AppendLine("<li class=\"active\"><a href=\"../Agent/Dashboard.aspx\">Dashboard</a></li>");
  68. sb.AppendLine("<li><a href=\"/Agent/AgentMain.aspx\" target='mainFrame'>Dashboard</a></li> ");
  69. if (ds.Tables[0].Rows.Count == 0 || ds.Tables[1].Rows.Count == 0)
  70. {
  71. //sb.AppendLine("</li></ul>");
  72. //sb.AppendLine("</div>");
  73. menu.InnerHtml = sb.ToString();
  74. return;
  75. }
  76. for (int i = 0; i <= menuGroup.Rows.Count; i++)
  77. {
  78. if (menuGroup.Rows.Count != 0)
  79. {
  80. string menuGroupName = menuGroup.Rows[0]["AgentMenuGroup"].ToString();
  81. DataRow[] rows = ds.Tables[1].Select("AgentMenuGroup = ('" + menuGroupName + "')");
  82. if (rows.Length > 0)
  83. sb.AppendLine(GetMenuContents(menuGroupName, rows));
  84. DataRow[] rowsToRemove = menuGroup.Select("AgentMenuGroup = ('" + menuGroupName + "')");
  85. foreach (DataRow row in rowsToRemove)
  86. {
  87. menuGroup.Rows.Remove(row);
  88. }
  89. }
  90. i = 0;
  91. }
  92. //sb.AppendLine("</li></ul>");
  93. //sb.AppendLine("</div>");
  94. sb.AppendLine("<li><a href=\"/Logout.aspx\" style='background-color:#333'>Logout</a></li> ");
  95. menu.InnerHtml = sb.ToString();
  96. }
  97. private string GetMenuContents(string menuGroup, DataRow[] dr)
  98. {
  99. StringBuilder sb = new StringBuilder("");
  100. DataTable dt = CreateDataTable();
  101. foreach (DataRow row in dr)
  102. {
  103. dt.ImportRow(row);
  104. }
  105. sb.AppendLine("<li><a href=\"#\">" + menuGroup + "<span class=\"caret\"></span></a> ");
  106. sb.AppendLine("<ul>");
  107. for (int i = 0; i <= dt.Rows.Count; i++)
  108. {
  109. if (dt.Rows.Count != 0)
  110. {
  111. DataRow[] menuList = dt.Select("AgentMenuGroup = ('" + dt.Rows[0]["AgentMenuGroup"].ToString() + "')");
  112. string subMainMenu = menuList[0]["AgentMenuGroup"].ToString();
  113. foreach (DataRow row in menuList)
  114. {
  115. //sb.AppendLine("<li><a tabindex=\"-1\" href=\"" + row["linkPage"].ToString() + "\" target=\"mainFrame\">" + row["menuName"].ToString() + "</a></li>");
  116. sb.AppendLine("<li><a href=\"" + row["linkPage"].ToString() + "\" target=\"mainFrame\">" + row["menuName"].ToString() + "</a></li>");
  117. }
  118. DataRow[] rows = dt.Select("AgentMenuGroup = ('" + dt.Rows[0]["AgentMenuGroup"].ToString() + "')");
  119. foreach (DataRow row in rows)
  120. {
  121. dt.Rows.Remove(row);
  122. }
  123. }
  124. i = 0;
  125. }
  126. sb.AppendLine("</ul></li>");
  127. return sb.ToString();
  128. }
  129. private DataTable CreateDataTable()
  130. {
  131. DataTable dt = new DataTable();
  132. DataColumn linkPage = new DataColumn("linkPage", Type.GetType("System.String"));
  133. DataColumn menuName = new DataColumn("menuName", Type.GetType("System.String"));
  134. DataColumn agentMenuGroup = new DataColumn("AgentMenuGroup", Type.GetType("System.String"));
  135. dt.Columns.Add(linkPage);
  136. dt.Columns.Add(agentMenuGroup);
  137. dt.Columns.Add(menuName);
  138. return dt;
  139. }
  140. }
  141. }