Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
        /// <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());
        }