private static void FillMenus(THOK.AF.Config config, DataTable moduleTable, DataTable functionTable) { DataRow[] moduleRows = moduleTable.Select("PARENTID='000000'", "SHOWORDER"); foreach (DataRow moduleRow in moduleRows) { DataRow[] menuRows = moduleTable.Select(string.Format("PARENTID='{0}'", moduleRow["MODULEID"]), "SHOWORDER"); List<THOK.AF.Menu> menus = new List<THOK.AF.Menu>(); foreach (DataRow menuRow in menuRows) { string menuID = menuRow["MODULEID"].ToString(); THOK.AF.Menu menu = new THOK.AF.Menu(menuRow["MODULENAME"].ToString(), menuRow["MODULEURL"].ToString(), menuID); menus.Add(menu); if (functionTable != null) { DataRow[] functionRows = functionTable.Select(string.Format("MODULEID='{0}'", menuID)); foreach (DataRow row in functionRows) config.AddFunction(menuID, row["CONTROLNAME"].ToString()); } } if (menus.Count != 0) { THOK.AF.MenuList menuList = new THOK.AF.MenuList(moduleRow["MODULENAME"].ToString(), menus); config.MenuList.Add(menuList); } } }