using Swift.web.Library; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace Swift.web.DashboardV2 { public partial class Dashboard : Page { private SwiftLibrary sl = new SwiftLibrary(); private RemittanceLibrary _remit = new RemittanceLibrary(); protected void Page_Load(object sender, EventArgs e) { sl.CheckSession(); if (!IsPostBack) { PopulateMenu(); PopulateNotification(); // Task.WaitAll(Task.Run(() => PopulateNotification())); GetStatic.PrintMessage(Page); } } public async Task PopulateNotificationAsync() { await Task.Run(() => PopulateNotification()); } protected string getUser() { return GetStatic.GetUser(); } protected void PopulateNotification() { string sql = "EXEC proc_notification @user = '" + getUser() + "'"; DataTable dt = _remit.ExecuteDataTable(sql); if (null == dt) { return; } if (dt.Rows.Count == 0) { return; } StringBuilder sb = new StringBuilder(); int counter = 0; foreach (DataRow item in dt.Rows) { counter += Convert.ToInt16(item["count"].ToString()); sb.AppendLine("
  • "); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine(item["msg"].ToString()); sb.AppendLine("" + item["msg1"].ToString() + ""); sb.AppendLine(""); sb.AppendLine("
  • "); } count.Text = counter.ToString(); notification.InnerHtml = "
  • " + counter.ToString() + " New Notifications
  • " + sb.ToString(); } protected void PopulateMenu() { StringBuilder sb = new StringBuilder(); sb = (StringBuilder)Session[getUser() + "Menu"]; if (string.IsNullOrEmpty(sb.ToString()) || string.IsNullOrWhiteSpace(sb.ToString())) { sb = new StringBuilder(); string sql = "exec menu_proc @flag = 'admin', @user = '" + getUser() + "'"; DataSet ds = _remit.ExecuteDataset(sql); DataTable menuGroup = ds.Tables[0]; sb.AppendLine("
    "); sb.AppendLine(""); sb.AppendLine("
    "); menu.InnerHtml = sb.ToString(); return; } for (int i = 0; i <= menuGroup.Rows.Count; i++) { if (menuGroup.Rows.Count != 0) { string menuGroupName = menuGroup.Rows[0]["menuGroup"].ToString(); DataRow[] rows = ds.Tables[1].Select("menuGroup IN (" + GetMenuGroup(GetMainMenuGroup(menuGroupName)) + ")"); sb.AppendLine(GetMenuContents(menuGroupName, rows)); DataRow[] rowsToRemove = menuGroup.Select("menuGroup IN (" + GetMenuGroup(GetMainMenuGroup(menuGroupName)) + ")"); foreach (DataRow row in rowsToRemove) { menuGroup.Rows.Remove(row); } } i = 0; } sb.AppendLine(""); sb.AppendLine(""); Session[getUser() + "Menu"] = sb; } menu.InnerHtml = sb.ToString(); } private string GetMenuContents(string menuGroup, DataRow[] dr) { StringBuilder sb = new StringBuilder(""); DataTable dt = CreateDataTable(); foreach (DataRow row in dr) { dt.ImportRow(row); } sb.AppendLine("
  • "); sb.AppendLine("" + GetMainMenuGroup(menuGroup) + ""); sb.AppendLine("
  • "); } else { sb.AppendLine("
  • " + subMainMenu + ""); sb.AppendLine("
  • "); } DataRow[] rows = dt.Select("menuGroup = ('" + dt.Rows[0]["menuGroup"].ToString() + "')"); foreach (DataRow row in rows) { dt.Rows.Remove(row); } } i = 0; } sb.AppendLine(""); return sb.ToString(); } private DataTable CreateDataTable() { DataTable dt = new DataTable(); DataColumn linkPage = new DataColumn("linkPage", Type.GetType("System.String")); DataColumn menuName = new DataColumn("menuName", Type.GetType("System.String")); DataColumn menuGroup = new DataColumn("menuGroup", Type.GetType("System.String")); dt.Columns.Add(linkPage); dt.Columns.Add(menuName); dt.Columns.Add(menuGroup); return dt; } private string GetMenuGroup(string mainMenuGroup) { string menuGroups = ""; if (mainMenuGroup == "Administration") { menuGroups = "'User Management', 'Mobile Menu', 'Application Settings', 'Application Log', 'Administration', 'Customer Management' ,'Online Customer','Deposit API','Registration' "; } else if (mainMenuGroup == "System Security") { menuGroups = "'Notifications'"; } else if (mainMenuGroup == "Transaction") { menuGroups = "'Transaction'"; } else if (mainMenuGroup == "Remittance") { //menuGroups = "'Credit Risk Management', 'Reports-Master','Reports','Service Charge & Commission', 'Customer Reports' ,'Utilities', 'Remittance', 'Compliance','Watchlist Management' , 'Risk Based Assessement'"; menuGroups = "'Credit Risk Management', 'Reports-Master','Reports','Service Charge & Commission', 'Customer Reports' ,'Utilities', 'Remittance', 'Risk Based Assessement'"; } else if (mainMenuGroup == "Compliance") { menuGroups = "'Compliance', 'Watchlist Management', 'Report'"; // } else if (mainMenuGroup == "Account") { menuGroups = "'BILL & VOUCHER', 'Remittance Reports', 'ACCOUNT SETTING', 'ACCOUNT REPORT', 'Accounts', 'Cash Report' , 'ACCOUNT REPORT - OLD'"; } else if (mainMenuGroup == "EXCHANGE SETUP") { menuGroups = "'Credit Risk', 'Service Charge/Commission','EXCHANGE SETUP','Exchange Rate', 'Cash And Vault','ThirdParty Setups'"; } else if (mainMenuGroup == "MOBILE") { menuGroups = "'Mobile Setup', 'Mobile Reports','Mobile Notification','Mobile Operations'"; } else { menuGroups = "'" + mainMenuGroup + "'"; } return menuGroups; } protected string GetMainMenuGroup(string menuGroupName) { string mainMenuGroupName = ""; if (menuGroupName == "User Management" || menuGroupName == "Application Settings" || menuGroupName == "Application Log" || menuGroupName == "Administration" || menuGroupName == "Customer Management" || menuGroupName == " Online Customer" || menuGroupName == "Registration" || menuGroupName == "Mobile Menu") { mainMenuGroupName = "Administration"; } else if (menuGroupName == "Notifications") { mainMenuGroupName = "System Security"; } else if (menuGroupName == "Credit Risk Management" || menuGroupName == "Customer Reports" || menuGroupName == "Reports-Master" || menuGroupName == "Reports" || menuGroupName == "Service Charge & Commission" || menuGroupName == "Utilities" || menuGroupName == "Remittance" || menuGroupName == "Risk Based Assessement") { mainMenuGroupName = "Remittance"; } else if (menuGroupName == "BILL & VOUCHER" || menuGroupName == "Remittance Reports" || menuGroupName == "ACCOUNT SETTING" || menuGroupName == "ACCOUNT REPORT" || menuGroupName == "Accounts" || menuGroupName == "OFAC Management" || menuGroupName == "Cash Report" || menuGroupName == "Account Report - OLD") { mainMenuGroupName = "Account"; } else if (menuGroupName == "Credit Risk" || menuGroupName == "Service Charge/Commission" || menuGroupName == "Exchange Rate" || menuGroupName == "Cash And Vault" || menuGroupName == "ThirdParty Setups") { mainMenuGroupName = "EXCHANGE SETUP"; } else if (menuGroupName == "Compliance" || menuGroupName == "Watchlist Management" || menuGroupName == "Report") // { mainMenuGroupName = "Compliance"; } //else if (menuGroupName == "ThirdParty Setups") //{ // mainMenuGroupName = "Exchange Rate"; //} else if (menuGroupName == "Transaction") { mainMenuGroupName = "Transaction"; } else if (menuGroupName == "Mobile Notification" || menuGroupName == "Mobile Setup" || menuGroupName == "Mobile Reports" || menuGroupName == "Mobile Operations") { mainMenuGroupName = "MOBILE"; } else { mainMenuGroupName = menuGroupName; } return mainMenuGroupName; } } }