BLL/AchieveBLL/MenuBLL.cs

(开头部分) 17KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using AchieveCommon;
using AchieveDALFactory;
using AchieveEntity;
using AchieveInterfaceDAL;
using System;
using System.Data;
using System.Text;

namespace AchieveBLL
{
    /// <summary>
    /// 菜单(BLL)
    /// </summary>
    public class MenuBLL
    {
        private IMenuDAL dal = DALFactory.GetMenuDAL();

        public DataTable GetUserMenuData(int userId, int parentid)
        {
            return dal.GetUserMenuData(userId, parentid);
        }

        /// <summary>
        /// 根据用户主键id查询用户可以访问的菜单 默认2层
        /// </summary>
        public string GetUserMenu(int id)
        {
            DataTable dt = dal.GetUserMenu(id);
            StringBuilder sb = new StringBuilder();
            sb.Append("[");
            DataRow[] rows = dt.Select("menuparentid = 0");   //赋权限每个角色都必须有父节点的权限,否则一个都不输出了
            if (rows.Length > 0)
            {
                for (int i = 0; i < rows.Length; i++)
                {
                    string stateStr = "open";// "closed";
                    if (i == 0)
                    {
                        stateStr = "open";
                    }
                    sb.Append("{\"id\":\"" + rows[i]["menuid"].ToString() + "\",\"text\":\"" + rows[i]["menuname"].ToString() + "\",\"iconCls\":\"" + rows[i]["icon"].ToString() + "\",\"state\":\"" + stateStr + "\",\"children\":[");
                    sb.Append(GetChildMenuStr(dt, rows[i]["menuid"].ToString(), stateStr));
                }
                sb.Remove(sb.Length - 1, 1);
                sb.Append("]");
            }
            else
            {
                sb.Append("]");
            }
            return sb.ToString();
        }

        public string GetChildMenuStr(DataTable dt, string menuid, string stateStr)
        {
            StringBuilder sb = new StringBuilder();
            DataRow[] r_list = dt.Select(string.Format("menuparentid={0}", menuid));
            if (r_list.Length > 0)
            {
                for (int j = 0; j < r_list.Length; j++)
后面还有 329 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。