Own.BLL/Sys/Sys_Auth_BLL.cs

(开头部分) 9KB

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

using Own.IDAL.Sys;
using Own.Models;
using Own.Models.Filter.SysFilter;
using Own.Models.Sys_Extend;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Unity.Attributes;

namespace Own.BLL.Sys
{
    public partial class Sys_Auth_BLL
    {
        [Dependency]
        public ISys_Auth_Dal sys_auth { get; set; }

        /// <summary>
        /// 获取角色下的树
        /// </summary>
        /// <param name="Rid"></param>
        /// <param name="Wid"></param>
        /// <returns></returns>
        #region
        public List<Sys_Role_Node_Extend> Get_Role_Tree(SysFilter filter, Guid Wid, bool authNode = true)
        {
            if (string.IsNullOrWhiteSpace(filter.Id)) return null;

            Guid Rid = new Guid(filter.Id);

            List<Sys_Role_Node_Extend> nodes = new List<Sys_Role_Node_Extend>();
            //获取web站点对应的菜单分类和功能菜单
            var webList = sys_auth.GetSys_Fun_Web_Class().Where(a => a.Wid == Wid).OrderBy(a => a.WNum).ThenBy(a => a.CNum).ToList();
            //获取角色对应的web站点和菜单分类与功能菜单
            var roleList = sys_auth.GetSys_Role_Web_Class_Fun().Where(a => a.Id == Rid).ToList();

            List<int> WList = new List<int>();//站点节点

            #region 获取Web节点和子节点
            int len = 0;
            for (int i = 0; i < webList.Count; i++)
            {
                Sys_Role_Node_Extend MainNode = nodes.Find(delegate (Sys_Role_Node_Extend fnt)  //查看是否存在节点,存在则不往下执行
                {
                    return fnt.WId == webList[i].Wid.ToString();
                });

                if (MainNode == null) //无节点
                {
                    var sfwc = sys_auth.GetSys_Fun_Web_Class().Where(a => a.Wid == webList[i].Wid).OrderBy(a => a.CNum).ThenBy(a => a.FNum).ToList();
                    if (sfwc.Count != 0) //如果主节点下面无子节点,则该主节点也不显示
                    {
                        Sys_Role_Node_Extend node_first = new Sys_Role_Node_Extend()
                        {
                            Num = (++len),
                            WId = webList[i].Wid.ToString(),
                            Title = webList[i].WTitle,
                            ParentID = 0,
                            IsExpanded = true
后面还有 162 行代码,购买后查看完整代码

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

AI 解读 AI

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

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