Esempio n. 1
0
        /// <summary>
        /// 获取用户菜单HTML
        /// </summary>
        /// <param name="userID">用户ID</param>
        /// <returns></returns>
        public string GetNewUserMenuTreeHtml(string userId, string websiteOwner)
        {
            StringBuilder sb = new StringBuilder();

            try
            {
                UserInfo curUser   = BaseCacheGetUserInfo(userId);
                int      ShowLevel = 3;
                if (curUser.UserType == 1)
                {
                    ShowLevel = 1;
                }
                else if (curUser.UserID == websiteOwner)
                {
                    ShowLevel = 2;
                }
                BLLMenuInfo     bllMenu = new BLLMenuInfo();
                List <MenuInfo> list    = bllMenu.GetWebsiteMenuList(websiteOwner, ShowLevel, false, true);

                string      relationIds    = "''";
                List <long> pmsGroupIdList = GetPmsGroupIDByUser(websiteOwner);
                if (pmsGroupIdList.Count > 0)
                {
                    relationIds = MyStringHelper.ListToStr(pmsGroupIdList, "'", ",");
                }

                list = bllMenu.CheckMenuRelationList(list, websiteOwner, relationIds);
                list = bllMenu.CheckUserMenuShowLevelList(list, ShowLevel);
                list = list.Where(p => p.IsHide.Value == 0).ToList();

                List <MenuInfo> menuList = new List <MenuInfo>();
                menuList = list;

                int index = 0;
                foreach (MenuInfo item in menuList.Where(p => p.PreID == 0))
                {
                    //sb.AppendFormat("<li class=\"{0}\">", index > 0 ? "" : "active");
                    sb.AppendFormat("<li class=\"{0}\">", index > 0 ? "" : "");//默认不展开任何菜单

                    sb.AppendFormat("<a href=\"javascript:;\"><i class=\"{1}\"></i> <span class=\"nav-label\">{0}</span><span class=\"fa arrow\"></span></a>", item.NodeName, item.ICOCSS);

                    sb.AppendFormat(GetNewSingelTreeHtml(item, menuList));


                    sb.AppendFormat("</li>");
                    index++;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(sb.ToString());
        }
Esempio n. 2
0
        /// <summary>
        /// 检查栏目权限返回菜单
        /// </summary>
        /// <returns></returns>
        public List <MenuInfo> CheckPermissionColumnList(List <MenuInfo> list, string websiteOwner, UserInfo curUser)
        {
            List <MenuInfo> result = new List <MenuInfo>();

            if (list.Count == 0)
            {
                return(result);
            }
            string      relationIds    = "''";
            List <long> pmsGroupIdList = GetPmsGroupIDByUser(curUser.UserID);
            List <PermissionRelationInfo> rel_column_list = new List <PermissionRelationInfo>();
            List <PermissionColumn>       column_list     = new List <PermissionColumn>();
            BLLPermission bllPermission     = new BLLPermission();
            string        columnRelationIds = "0";

            if (pmsGroupIdList.Count > 0)
            {
                relationIds     = MyStringHelper.ListToStr(pmsGroupIdList, "'", ",");
                rel_column_list = bllPermission.GetMultPermissionRelationList(relationIds, 3);
                if (rel_column_list.Count > 0)
                {
                    columnRelationIds = MyStringHelper.ListToStr(rel_column_list.Select(p => p.PermissionID).ToList(), "", ",");
                    column_list       = bllPermission.GetMultListByKey <PermissionColumn>("PermissionColumnID", columnRelationIds);
                }
            }
            if (!string.IsNullOrWhiteSpace(websiteOwner) && curUser.UserID == websiteOwner)
            {
                List <PermissionColumn> column_list1 = bllPermission.GetListByKey <PermissionColumn>("WebsiteOwner", websiteOwner);
                column_list.AddRange(column_list1);
            }
            if (column_list.Count == 0)
            {
                return(result);
            }

            List <long> columnId_list  = column_list.Select(p => p.PermissionColumnID).ToList();
            List <long> columnId_list1 = column_list.Where(p => p.PermissionColumnBaseID > 0).Select(p => p.PermissionColumnBaseID).ToList();

            columnId_list.AddRange(columnId_list1);
            string columnRelationIdStrs = MyStringHelper.ListToStr(columnId_list, "'", ",");

            BLLMenuInfo             bllMenu          = new BLLMenuInfo();
            List <MenuRelationInfo> column_menu_list = bllMenu.GetMenuRelationListByRelationIds(columnRelationIdStrs, 5);

            if (column_menu_list.Count == 0)
            {
                return(result);
            }

            List <long> menuId_list = column_menu_list.Select(p => p.MenuID).ToList();

            result = list.Where(p => menuId_list.Contains(p.MenuID)).ToList();
            return(result);
        }
Esempio n. 3
0
        /// <summary>
        /// 获取用户菜单HTML
        /// </summary>
        /// <param name="userId">账号</param>
        /// <param name="websiteOwner">所有者</param>
        /// <returns></returns>
        public string GetNewUserMenuTreeHtmlV2(string userId, string websiteOwner)
        {
            StringBuilder sbMenu = new StringBuilder();

            try
            {
                UserInfo userInfo  = BaseCacheGetUserInfo(userId);
                int      showLevel = 3;
                if (userInfo.UserType == 1)
                {
                    showLevel = 1;
                }
                else if (userInfo.UserID == websiteOwner)
                {
                    showLevel = 2;
                }
                BLLMenuInfo     bllMenu = new BLLMenuInfo();
                List <MenuInfo> list    = bllMenu.GetWebsiteMenuList(websiteOwner, 1, false, true);
                list = bllMenu.NewCheckMenuRelationList(list, websiteOwner);
                list = bllMenu.CheckUserMenuShowLevelList(list, showLevel);
                list = list.Where(p => p.IsHide.Value == 0).ToList();

                if (userInfo.UserType != 1)
                {
                    list = CheckPermissionColumnList(list, websiteOwner, userInfo);
                }

                List <MenuInfo> menuList = new List <MenuInfo>();
                menuList = list;

                int index = 0;
                foreach (MenuInfo item in menuList.Where(p => p.PreID == 0))
                {
                    //sbMenu.AppendFormat("<li class=\"{0}\">", index > 0 ? "" : "active");
                    sbMenu.AppendFormat("<li class=\"{0}\">", index > 0 ? "" : "");//默认不展开任何菜单

                    sbMenu.AppendFormat("<a href=\"javascript:;\"><i class=\"{1}\"></i> <span class=\"nav-label\">{0}</span><span class=\"fa arrow\"></span></a>", item.NodeName, item.ICOCSS);

                    sbMenu.AppendFormat(GetNewSingelTreeHtml(item, menuList));


                    sbMenu.AppendFormat("</li>");
                    index++;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(sbMenu.ToString());
        }