Пример #1
0
        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);
                }
            }
        }