DAL/AchieveDAL/MenuDAL.cs

(开头部分) 12KB

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

using AchieveCommon;
using AchieveEntity;
using AchieveInterfaceDAL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Text;

namespace AchieveDAL
{
    /// <summary>
    /// 菜单(SQL Server数据库实现)
    /// </summary>
    public class MenuDAL : IMenuDAL
    {
        public DataTable GetUserMenuData(int userId, int parentid)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select distinct(m.Name) menuname,m.Id menuid,m.Icon icon,m.ParentId menuparentid,m.Sort menusort,m.LinkAddress linkaddress from tbUser u");
            strSql.Append(" join tbUserRole ur on u.Id=ur.UserId");
            strSql.Append(" join tbRoleMenuButton rmb on ur.RoleId=rmb.RoleId");
            strSql.Append(" join tbMenu m on rmb.MenuId=m.Id");
            strSql.Append(" where u.Id=@UserId AND m.ParentId=@ParentId order by m.ParentId,m.Sort");
            SqlParameter[] parameters = {
                        new SqlParameter("@UserId", SqlDbType.Int),
                        new SqlParameter("@ParentId", SqlDbType.Int)
            };
            parameters[0].Value = userId;
            parameters[1].Value = parentid;
            return SqlHelper.GetDataTable(SqlHelper.connStr, CommandType.Text, strSql.ToString(), parameters);
        }

        /// <summary>
        /// 根据用户主键id查询用户可以访问的菜单
        /// </summary>
        public DataTable GetUserMenu(int id)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select distinct(m.Name) menuname,m.Id menuid,m.Icon icon,u.Id userid,u.AccountName username,m.ParentId menuparentid,m.Sort menusort,m.LinkAddress linkaddress from tbUser u");
            strSql.Append(" join tbUserRole ur on u.Id=ur.UserId");
            strSql.Append(" join tbRoleMenuButton rmb on ur.RoleId=rmb.RoleId");
            strSql.Append(" join tbMenu m on rmb.MenuId=m.Id");
            strSql.Append(" where u.Id=@Id order by m.ParentId,m.Sort");

            return SqlHelper.GetDataTable(SqlHelper.connStr, CommandType.Text, strSql.ToString(), new SqlParameter("@Id", id));
            //StringBuilder strSql = new StringBuilder();
            //strSql.Append("select distinct(m.Name) menuname,m.Id menuid,m.Icon icon,u.ID userid,u.AccountName username,m.ParentId menuparentid,m.Sort menusort,m.LinkAddress linkaddress from tbUser u");
            //strSql.Append(" join tbUserRole ur on u.ID=ur.UserId");
            //strSql.Append(" join tbRoleMenu rmb on ur.RoleId=rmb.RoleId");
            //strSql.Append(" join tbMenu m on rmb.MenuId=m.Id");
            //strSql.Append(" where u.ID=@Id order by m.ParentId,m.Sort");

            //return SqlHelper.GetDataTable(SqlHelper.connStr, CommandType.Text, strSql.ToString(), new SqlParameter("@Id", id));
        }

        /// <summary>
        /// 根据角色id获取此角色可以访问的菜单和菜单下的菜单(编辑角色-菜单使用)
        /// </summary>
        public DataTable GetAllMenu(int roleId)
后面还有 212 行代码,购买后查看完整代码

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

AI 解读 AI

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

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