/// <summary> /// 根据父栏目ID获取兄弟栏目 /// </summary> /// <param name="yunEntities">上下文对象</param> /// <param name="yParentID">父栏目ID</param> /// <returns>父栏目下子栏目集合</returns> public List <ModulePower> GetChildModulePower(IYunEntities yunEntities, int yParentID) { const int menu = (int)PowerState.Able; var cacheName = "PowerList"; var r = HttpRuntime.Cache[cacheName] as List <IGrouping <int, VW_Power> >; if (r != null) { var modulePowers = r.Find(u => u.Key == YdAdminRoleId) .Where(u => u.y_menu == menu && u.y_parentID == yParentID && u.y_level == 2) .Select(ydModulePower => new ModulePower { id = ydModulePower.id, y_url = ydModulePower.y_url, y_sort = ydModulePower.y_sort, y_parentID = ydModulePower.y_parentID, y_level = ydModulePower.y_level, y_vaild = ydModulePower.y_vaild, y_roleID = ydModulePower.y_roleID, y_moduleID = ydModulePower.y_moduleID, y_menu = ydModulePower.y_menu, y_insert = ydModulePower.y_insert, y_delete = ydModulePower.y_delete, y_update = ydModulePower.y_update, y_select = ydModulePower.y_select, y_roleName = ydModulePower.y_roleName, y_moudleName = ydModulePower.y_moudleName, children = r.Find(u => u.Key == YdAdminRoleId) .Where(u => u.y_menu == menu && u.y_parentID == ydModulePower.y_moduleID && u.y_level == 3) .Select(k => new ModulePower { id = k.id, y_url = k.y_url, y_sort = k.y_sort, y_parentID = k.y_parentID, y_level = k.y_level, y_vaild = k.y_vaild, y_roleID = k.y_roleID, y_moduleID = k.y_moduleID, y_menu = k.y_menu, y_insert = k.y_insert, y_delete = k.y_delete, y_update = k.y_update, y_select = k.y_select, y_roleName = k.y_roleName, y_moudleName = k.y_moudleName, }).OrderByDescending(u => u.y_sort).ToList() }).OrderByDescending(u => u.y_sort).ToList(); return(modulePowers); } else { LogHelper.WriteWarnLog(typeof(LogType), DateTime.Now.ToString("HH:mm:ss.fff") + "--在GetChildModulePower,缓存失效!"); r = PowerInit.InitPower(); var modulePowers = r.Find(u => u.Key == YdAdminRoleId) .Where(u => u.y_menu == menu && u.y_parentID == yParentID && u.y_level == 2) .Select(ydModulePower => new ModulePower { id = ydModulePower.id, y_url = ydModulePower.y_url, y_sort = ydModulePower.y_sort, y_parentID = ydModulePower.y_parentID, y_level = ydModulePower.y_level, y_vaild = ydModulePower.y_vaild, y_roleID = ydModulePower.y_roleID, y_moduleID = ydModulePower.y_moduleID, y_menu = ydModulePower.y_menu, y_insert = ydModulePower.y_insert, y_delete = ydModulePower.y_delete, y_update = ydModulePower.y_update, y_select = ydModulePower.y_select, y_roleName = ydModulePower.y_roleName, y_moudleName = ydModulePower.y_moudleName, children = r.Find(u => u.Key == YdAdminRoleId) .Where(u => u.y_menu == menu && u.y_parentID == ydModulePower.y_moduleID && u.y_level == 3) .Select(k => new ModulePower { id = k.id, y_url = k.y_url, y_sort = k.y_sort, y_parentID = k.y_parentID, y_level = k.y_level, y_vaild = k.y_vaild, y_roleID = k.y_roleID, y_moduleID = k.y_moduleID, y_menu = k.y_menu, y_insert = k.y_insert, y_delete = k.y_delete, y_update = k.y_update, y_select = k.y_select, y_roleName = k.y_roleName, y_moudleName = k.y_moudleName, }).OrderByDescending(u => u.y_sort).ToList() }).OrderByDescending(u => u.y_sort).ToList(); return(modulePowers); } }
/// <summary> /// 后台框架Top页面 /// </summary> /// <returns></returns> public ActionResult Top() { if (!IsLogin()) { return(RedirectToAction("Index")); } ViewBag.adminName = YdAdminRelName; ViewBag.admin = YdAdminRoleId; using (var ad = new IYunEntities()) { ViewBag.stranges = 0; const int status = (int)ApprovaState.WaitApprova; var list = ad.VW_Strange.Where(u => u.y_approvalStatus == status && u.y_straisdel == (int)YesOrNo.No).ToList(); if (list.Count > 0) { ViewBag.stranges = list.Count; } } const int menu = (int)PowerState.Able; var cacheName = "PowerList"; var r = HttpRuntime.Cache[cacheName] as List <IGrouping <int, VW_Power> >;//获取缓存中的导航栏数据,没有就从数据库中取 if (r != null) { var modulePowers = r.Find(u => u.Key == YdAdminRoleId) .Where(u => u.y_level == 1 && u.y_menu == menu) .Select(ydModulePower => new ModulePower { id = ydModulePower.id, y_url = ydModulePower.y_url, y_sort = ydModulePower.y_sort, y_parentID = ydModulePower.y_parentID, y_level = ydModulePower.y_level, y_vaild = ydModulePower.y_vaild, y_roleID = ydModulePower.y_roleID, y_moduleID = ydModulePower.y_moduleID, y_menu = ydModulePower.y_menu, y_insert = ydModulePower.y_insert, y_delete = ydModulePower.y_delete, y_update = ydModulePower.y_update, y_select = ydModulePower.y_select, y_roleName = ydModulePower.y_roleName, y_moudleName = ydModulePower.y_moudleName }).OrderByDescending(u => u.y_sort).ToList(); ViewBag.modulePowers = modulePowers; } else { LogHelper.WriteWarnLog(typeof(LogType), DateTime.Now.ToString("HH:mm:ss.fff") + "--在TOP视图,缓存失效!"); r = PowerInit.InitPower(); var modulePowers = r.Find(u => u.Key == YdAdminRoleId) .Where(u => u.y_level == 1 && u.y_menu == menu) .Select(ydModulePower => new ModulePower { id = ydModulePower.id, y_url = ydModulePower.y_url, y_sort = ydModulePower.y_sort, y_parentID = ydModulePower.y_parentID, y_level = ydModulePower.y_level, y_vaild = ydModulePower.y_vaild, y_roleID = ydModulePower.y_roleID, y_moduleID = ydModulePower.y_moduleID, y_menu = ydModulePower.y_menu, y_insert = ydModulePower.y_insert, y_delete = ydModulePower.y_delete, y_update = ydModulePower.y_update, y_select = ydModulePower.y_select, y_roleName = ydModulePower.y_roleName, y_moudleName = ydModulePower.y_moudleName }).OrderByDescending(u => u.y_sort).ToList(); ViewBag.modulePowers = modulePowers; } return(PartialView()); }