RightControl.Repository/Permissions/MenuRepository.cs

(开头部分) 2KB

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

using Dapper;
using RightControl.IRepository;
using RightControl.Model;
using System.Collections.Generic;
using System.Data;

namespace RightControl.Repository
{
    public class MenuRepository : BaseRepository<MenuModel>, IMenuRepository
    {
        public MenuModel GetParentMenu(string sql, int Id)
        {
            using (var conn = SqlHelper.SqlConnection())
            {
                return conn.QueryFirstOrDefault<MenuModel>(sql, new { Id = Id });
            }
        }
        /// <summary>
        /// 获取有效菜单列表
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <returns></returns>
        public IEnumerable<MenuModel> GetAvailableMenuList(string sql)
        {
            using (var conn = SqlHelper.SqlConnection())
            {
                sql += "  GROUP BY mra.MenuId,m.Id,m.MenuName,m.MenuIcon,m.OrderNo,m.ParentId,m.MenuUrl";
                return conn.Query<MenuModel>(sql);
            }
        }
        /// <summary>
        /// 根据角色ID获取菜单列表
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <param name="roleId">角色ID</param>
        /// <returns></returns>
        public IEnumerable<MenuModel> GetMenuListByRoleId(string sql, int roleId)
        {
            using (var conn = SqlHelper.SqlConnection())
            {
                sql += "  where mra.RoleId = @RoleId and m.Status=1 GROUP BY mra.MenuId ,m.Id,m.MenuName,m.MenuIcon,m.OrderNo,m.ParentId,m.MenuUrl";
                return conn.Query<MenuModel>(sql, new { RoleId = roleId });
            }
        }

        public bool DeleteMenuAllByMenuId(int menuId)
        {
            string sql1 = string.Format("DELETE FROM t_menu WHERE id={0}",menuId);
            string sql2 = string.Format("DELETE FROM t_menu_action WHERE MenuId={0}", menuId);
            string sql3 = string.Format("DELETE FROM t_menu_role_action WHERE MenuId={0}", menuId);
            using (var conn= SqlHelper.SqlConnection())
            {
                IDbTransaction transaction = conn.BeginTransaction();
                try
                {
                    conn.Execute(sql1,null,transaction);
                    conn.Execute(sql2, null, transaction);
                    conn.Execute(sql3, null, transaction);
                    transaction.Commit();
                    return true;
后面还有 10 行代码,购买后查看完整代码

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

AI 解读

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

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