102 lines
3.1 KiB
C#
102 lines
3.1 KiB
C#
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
|
|||
|
namespace BLL
|
|||
|
{
|
|||
|
public class Sys_RolePowerService
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 增加角色权限
|
|||
|
/// </summary>
|
|||
|
/// <param name="power"></param>
|
|||
|
public static void SaveRolePower(Model.Sys_RolePower power)
|
|||
|
{
|
|||
|
string newRolePower = BLL.SQLHelper.GetNewID(typeof(Model.Sys_RolePower));
|
|||
|
Model.Sys_RolePower newPower = new Model.Sys_RolePower();
|
|||
|
newPower.RolePowerId = newRolePower;
|
|||
|
newPower.RoleId = power.RoleId;
|
|||
|
newPower.MenuId = power.MenuId;
|
|||
|
|
|||
|
Funs.DB.Sys_RolePower.InsertOnSubmit(newPower);
|
|||
|
Funs.DB.SubmitChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 删除权限
|
|||
|
/// </summary>
|
|||
|
/// <param name="postId"></param>
|
|||
|
public static void DeleteRolePower(string roleId)
|
|||
|
{
|
|||
|
var q = from x in Funs.DB.Sys_RolePower
|
|||
|
join y in Funs.DB.Sys_Menu on x.MenuId equals y.MenuId
|
|||
|
where x.RoleId == roleId
|
|||
|
select x;
|
|||
|
|
|||
|
if (q.Count() > 0)
|
|||
|
{
|
|||
|
Funs.DB.Sys_RolePower.DeleteAllOnSubmit(q);
|
|||
|
}
|
|||
|
|
|||
|
Funs.DB.SubmitChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 获取角色权限
|
|||
|
/// </summary>
|
|||
|
/// <param name="roleId"></param>
|
|||
|
public static List<Model.Sys_RolePower> GetRolePower(string roleId)
|
|||
|
{
|
|||
|
List<Model.Sys_RolePower> powerList = Funs.DB.Sys_RolePower.Where(e => e.RoleId == roleId).ToList();
|
|||
|
return powerList;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 根据角色Id查询所有系统功能授权信息的数量
|
|||
|
/// </summary>
|
|||
|
/// <param name="roleId">角色Id</param>
|
|||
|
/// <returns>授权的数量</returns>
|
|||
|
public static int GetPostPowerCountByPostId(string roleId)
|
|||
|
{
|
|||
|
var q = (from x in Funs.DB.Sys_RolePower where x.RoleId == roleId select x).ToList();
|
|||
|
return q.Count();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 根据角色主键获得角色权限数量
|
|||
|
/// </summary>
|
|||
|
/// <param name="roleId">角色</param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetPostPowerCountByRoleId(string roleId)
|
|||
|
{
|
|||
|
var q = (from x in Funs.DB.Sys_RolePower where x.RoleId == roleId select x).ToList();
|
|||
|
return q.Count();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 根据角色主键获得对应的菜单权限
|
|||
|
/// </summary>
|
|||
|
/// <param name="roleId">角色主键</param>
|
|||
|
/// <returns>菜单ID数组</returns>
|
|||
|
public static string[] GetMenuIdByRoleId(string roleId)
|
|||
|
{
|
|||
|
var q = Funs.DB.Sys_RolePower.Where(e => e.RoleId == roleId);
|
|||
|
string[] menuId = new string[q.Count()];
|
|||
|
if (q.Count() > 0)
|
|||
|
{
|
|||
|
int i = 0;
|
|||
|
foreach (var menu in q)
|
|||
|
{
|
|||
|
menuId[i] = menu.MenuId;
|
|||
|
i++;
|
|||
|
}
|
|||
|
|
|||
|
return menuId;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|