/// <summary> /// 初始化应用 /// </summary> static void init_moduletopCache() { QueryParam qp = new QueryParam(); qp.OrderType = 0; qp.Orderfld = "A_Order"; int RecordCount = 0; ArrayList lst = BusinessFacade.sys_ApplicationsList(qp, out RecordCount); foreach (sys_ApplicationsTable var in lst) { List <sys_ModuleTable> mod = new List <sys_ModuleTable>(); Sys_moduletopCache.Add(var.ApplicationID, mod); } }
/// <summary> /// 设置一级模块缓存 /// </summary> /// <param name="m"></param> static void setTopModuleCache(sys_ModuleTable m) { //更新一级菜单 if (m.M_ParentID == 0) { if (Sys_moduletopCache.ContainsKey(m.M_ApplicationID)) { Sys_moduletopCache[m.M_ApplicationID].Add(m); } //else //{ // List<sys_ModuleTable> mod = new List<sys_ModuleTable>(); // mod.Add(m); // Sys_moduletopCache.Add(m.M_ApplicationID, mod); //} } }
/// <summary> /// 读取系统模块 /// </summary> /// <param name="moduledelegate">所有菜单读取缓存处理</param> /// <param name="topmoduledelegate">一级菜单读取缓存处理</param> /// <param name="treemoduledelegate">二级菜单读取类</param> /// <param name="isDelegate">是否异步读取数据</param> static void LoadsysModuleId(sysModuleCacheDelegate moduledelegate, sysModuleCacheDelegate topmoduledelegate, sysModuleCacheDelegate treemoduledelegate, bool isDelegate) { Sys_moduleCache.Clear(); Sys_moduletopCache.Clear(); Sys_moduleTreeCache.Clear(); init_moduletopCache(); int rint = 0; QueryParam qp = new QueryParam(); qp.Orderfld = " M_Applicationid,M_OrderLevel "; qp.OrderType = 0; qp.Where = " Where M_Close=0 "; qp.PageIndex = 1; qp.PageSize = int.MaxValue; ArrayList lst = BusinessFacade.sys_ModuleList(qp, out rint); foreach (sys_ModuleTable var in lst) { if (isDelegate) { moduledelegate(var); } else { setModuleCache(var); } } foreach (sys_ModuleTable var in lst) { if (isDelegate) { topmoduledelegate(var); treemoduledelegate(var); } else { setTopModuleCache(var); setModuleTreeCache(var); } } }