📄 bpermission.cs
字号:
using System;
using System.Collections;
using DAL;
using Search;
using Entities;
namespace BLL
{
public class BPermission
{
public ArrayList Select(int roleID)
{
DAL.IDPermission dPermission = DALContainer.Factory.GetIDPermission();
PermissionSearcher searcher = new PermissionSearcher();
searcher.RoleID = roleID;
searcher.RoleIDIsValid = true;
return dPermission.Select(searcher);
}
public int Insert(Permission ePermission)
{
DAL.IDPermission dPermission = DALContainer.Factory.GetIDPermission();
return dPermission.Insert(ePermission);
}
public int Delete(PermissionSearcher search)
{
DAL.IDPermission dPermission = DALContainer.Factory.GetIDPermission();
return dPermission.Delete(search);
}
public ArrayList SelectAll(int roleID)
{
//查询已有的权限
DAL.IDPermission dPermission = DALContainer.Factory.GetIDPermission();
PermissionSearcher searcher = new PermissionSearcher();
searcher.RoleID = roleID;
searcher.RoleIDIsValid = true;
ArrayList plist = dPermission.Select(searcher);
//需返回的集合
ArrayList MenuinfoList = new ArrayList();
//取得所有菜单(包括选种的)
ArrayList AllList = new BLL.BMenu().SelectAll();
foreach (Menu eMenu in AllList)
{
if (eMenu.ParentID == 0)
{
Menuinfo info = new Menuinfo();
info.MenuID = eMenu.MenuID;
info.MenuName = eMenu.MenuName;
foreach (Permission ePermission in plist)
{
if (ePermission.Menu.MenuID == info.MenuID &&ePermission.Menu.ParentID==0)
{
info.IsCheck = true;
break;
}
}
foreach (Menu chMenu in AllList)
{
if (eMenu.MenuID == chMenu.ParentID && chMenu.ParentID != 0)
{
MenuCheck MC = new MenuCheck();
MC.MenuID = chMenu.MenuID;
MC.MenuName = chMenu.MenuName;
MC.MenuList = chMenu.MenuList;
MC.MenuType = chMenu.MenuType;
MC.MenuTypeID = chMenu.MenuTypeID;
MC.MenuUrl = chMenu.MenuUrl;
MC.ParentID = chMenu.ParentID;
foreach (Permission ePermission in plist)
{
if (ePermission.MenuID == MC.MenuID&&ePermission.Menu.ParentID != 0)
{
MC.IsCheck = true;
break;
}
}
info.MenuList.Add(MC);
}
}
MenuinfoList.Add(info);
}
}
return MenuinfoList;
}
}
public class Menuinfo
{
private int menuID;
private string menuName;
private bool isCheck = false;
public bool IsCheck
{
get { return isCheck; }
set { isCheck = value; }
}
private ArrayList menulist = new ArrayList();
public ArrayList MenuList
{
get { return menulist; }
set { menulist = value; }
}
public Int32 MenuID
{
get { return menuID; }
set { menuID = value; }
}
public string MenuName
{
get { return menuName; }
set { menuName = value; }
}
}
public class MenuCheck : Menu
{
private bool isCheck;
public bool IsCheck
{
get { return isCheck; }
set { isCheck = value; }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -