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.

180 lines
7.9 KiB

  1. using Swift.web.Library;
  2. using System;
  3. using System.Data;
  4. using System.Text;
  5. namespace Swift.web.AgentNew
  6. {
  7. public partial class AgentMain : System.Web.UI.MasterPage
  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. if (GetStatic.ReadSession("IsForTablet", "false") == "false")
  17. {
  18. PopulateMenu();
  19. userName.Text = GetStatic.GetAgentName() + " (" + GetStatic.ReadSession("user", "") + ")";
  20. PopulateNotification();
  21. }
  22. else
  23. {
  24. PopulateStaticMenus();
  25. }
  26. }
  27. }
  28. private void PopulateStaticMenus()
  29. {
  30. string tabletMenu = "<li><a href=\"/AgentNew/Dashboard.aspx\">Dashboard</a></li>" +
  31. "<li><a href='#'>JME Tablet Menu<span class='caret'></span></a>" +
  32. "<ul>";
  33. //"<li><a href='/AgentNew/TabletMenu/CustomerPendingList.aspx'>Document Pending List</a></li>";
  34. if (rl.HasRight("20400000"))
  35. tabletMenu += "<li><a href='/AgentNew/Transaction/ApproveCustomerFromAgent/AddCustomerFromAgent.aspx'>Add Customer</a></li>";
  36. if (rl.HasRight("20440000"))
  37. tabletMenu += "<li><a href='/AgentNew/TabletMenu/AddBeneficiary.aspx'>Add Beneficiary</a></li>";
  38. if (rl.HasRight("20410000"))
  39. tabletMenu += "<li><a href='/AgentNew/Transaction/ApproveAgentTransaction/SendMoneyRequest.aspx'>Send Money Request</a></li>";
  40. tabletMenu += "</ul></li>";
  41. menu.InnerHtml = tabletMenu;
  42. }
  43. protected void PopulateNotification()
  44. {
  45. string sql = "EXEC proc_notification @user = " + rl.FilterString(getUser()) + ", @portal='agent', @branch_id=" + rl.FilterString(GetStatic.GetBranch());
  46. DataTable dt = rl.ExecuteDataTable(sql);
  47. if (null == dt)
  48. {
  49. return;
  50. }
  51. if (dt.Rows.Count == 0)
  52. {
  53. return;
  54. }
  55. StringBuilder sb = new StringBuilder();
  56. int counter = 0;
  57. foreach (DataRow item in dt.Rows)
  58. {
  59. counter += Convert.ToInt16(item["count"].ToString());
  60. sb.AppendLine("<li class=\"clearfix\">");
  61. sb.AppendLine("<a href=\"" + item["link"].ToString() + "\">");
  62. sb.AppendLine("<span class=\"pull-left\">");
  63. sb.AppendLine("<i class=\"fa fa-bell\" style='color:#0e96ec'></i>");
  64. sb.AppendLine("</span>");
  65. sb.AppendLine("<span class=\"media-body\">");
  66. sb.AppendLine(item["msg"].ToString());
  67. sb.AppendLine("<em>" + item["msg1"].ToString() + "</em>");
  68. sb.AppendLine("</span>");
  69. sb.AppendLine("</a></li>");
  70. }
  71. countNotification.InnerHtml = counter.ToString();
  72. notiUL.InnerHtml = "<li class=\"notify-title\">" + counter.ToString() + " New Notification(s)</li>" + sb.ToString();
  73. }
  74. protected string getUser()
  75. {
  76. return GetStatic.GetUser();
  77. }
  78. protected void PopulateMenu()
  79. {
  80. StringBuilder sb = new StringBuilder();
  81. sb = (StringBuilder)Session[GetStatic.GetAgent() + "Menu"];
  82. if (sb ==null || string.IsNullOrEmpty(sb.ToString()) || string.IsNullOrWhiteSpace(sb.ToString()))
  83. {
  84. sb = new StringBuilder();
  85. string sql = "exec menu_proc @flag = 'agent', @user = '" + GetStatic.GetUser() + "'";
  86. DataSet ds = rl.ExecuteDataset(sql);
  87. DataTable menuGroup = ds.Tables[0];
  88. sb.AppendLine("<li><a href=\"/AgentNew/Dashboard.aspx\">Dashboard</a></li> ");
  89. if (ds.Tables[0].Rows.Count == 0 || ds.Tables[1].Rows.Count == 0)
  90. {
  91. menu.InnerHtml = sb.ToString();
  92. return;
  93. }
  94. for (int i = 0; i <= menuGroup.Rows.Count; i++)
  95. {
  96. if (menuGroup.Rows.Count != 0)
  97. {
  98. string menuGroupName = menuGroup.Rows[0]["AgentMenuGroup"].ToString();
  99. DataRow[] rows = ds.Tables[1].Select("AgentMenuGroup = ('" + menuGroupName + "')");
  100. if (rows.Length > 0)
  101. sb.AppendLine(GetMenuContents(menuGroupName, rows));
  102. DataRow[] rowsToRemove = menuGroup.Select("AgentMenuGroup = ('" + menuGroupName + "')");
  103. foreach (DataRow row in rowsToRemove)
  104. {
  105. menuGroup.Rows.Remove(row);
  106. }
  107. }
  108. i = 0;
  109. }
  110. sb.AppendLine("<li><a href=\"/AgentNew/Logout.aspx\" style='background-color:#333'>Logout</a></li> ");
  111. Session[GetStatic.GetAgent() + "Menu"] = sb;
  112. }
  113. menu.InnerHtml = sb.ToString();
  114. }
  115. private string GetMenuContents(string menuGroup, DataRow[] dr)
  116. {
  117. StringBuilder sb = new StringBuilder("");
  118. DataTable dt = CreateDataTable();
  119. foreach (DataRow row in dr)
  120. {
  121. dt.ImportRow(row);
  122. }
  123. sb.AppendLine("<li><a href=\"#\">" + menuGroup + "<span class=\"caret\"></span></a> ");
  124. sb.AppendLine("<ul>");
  125. for (int i = 0; i <= dt.Rows.Count; i++)
  126. {
  127. if (dt.Rows.Count != 0)
  128. {
  129. DataRow[] menuList = dt.Select("AgentMenuGroup = ('" + dt.Rows[0]["AgentMenuGroup"].ToString() + "')");
  130. string subMainMenu = menuList[0]["AgentMenuGroup"].ToString();
  131. foreach (DataRow row in menuList)
  132. {
  133. //sb.AppendLine("<li><a tabindex=\"-1\" href=\"" + row["linkPage"].ToString() + "\" target=\"mainFrame\">" + row["menuName"].ToString() + "</a></li>");
  134. //sb.AppendLine("<li><a href=\"" + row["linkPage"].ToString() + "\" target=\"mainFrame\">" + row["menuName"].ToString() + "</a></li>");
  135. sb.AppendLine("<li><a href=\"" + row["linkPage"].ToString() + "\">" + row["menuName"].ToString() + "</a></li>");
  136. }
  137. DataRow[] rows = dt.Select("AgentMenuGroup = ('" + dt.Rows[0]["AgentMenuGroup"].ToString() + "')");
  138. foreach (DataRow row in rows)
  139. {
  140. dt.Rows.Remove(row);
  141. }
  142. }
  143. i = 0;
  144. }
  145. sb.AppendLine("</ul></li>");
  146. return sb.ToString();
  147. }
  148. private DataTable CreateDataTable()
  149. {
  150. DataTable dt = new DataTable();
  151. DataColumn linkPage = new DataColumn("linkPage", Type.GetType("System.String"));
  152. DataColumn menuName = new DataColumn("menuName", Type.GetType("System.String"));
  153. DataColumn agentMenuGroup = new DataColumn("AgentMenuGroup", Type.GetType("System.String"));
  154. dt.Columns.Add(linkPage);
  155. dt.Columns.Add(agentMenuGroup);
  156. dt.Columns.Add(menuName);
  157. return dt;
  158. }
  159. public string GetAPIPartnerId()
  160. {
  161. string partnerIds = GetStatic.ReadWebConfig("transfast", "") + "," + GetStatic.ReadWebConfig("jmeNepal", "") + "," + GetStatic.ReadWebConfig("donga", "") + "," + GetStatic.ReadWebConfig("brac", "") + "," + GetStatic.ReadWebConfig("cebuana", "") + "," + GetStatic.ReadWebConfig("wing", "");
  162. return partnerIds;
  163. }
  164. }
  165. }