125 lines
3.9 KiB
C#
125 lines
3.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace BLL
|
|
{
|
|
public class ButtonPowerService
|
|
{
|
|
/// <summary>
|
|
/// 获取按钮权限集合
|
|
/// </summary>
|
|
/// <param name="roleId">角色ID</param>
|
|
/// <param name="menuId">菜单ID</param>
|
|
/// <returns>按钮集合</returns>
|
|
public static string[] GetButtonPowerList(string roleId, string menuId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
var q = from x in db.Sys_ButtonPower where x.RoleId == roleId && x.MenuId == menuId select x;
|
|
string[] button = new string[q.Count()];
|
|
if (q.Count() > 0)
|
|
{
|
|
int i = 0;
|
|
foreach (var b in q)
|
|
{
|
|
Model.Sys_ButtonToMenu btn = db.Sys_ButtonToMenu.FirstOrDefault(e => e.ButtonToMenuId == b.ButtonToMenuId);
|
|
if (btn != null)
|
|
{
|
|
button[i] = btn.ButtonName;
|
|
}
|
|
i++;
|
|
}
|
|
}
|
|
|
|
return button;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 判断按键对应菜单是否存在
|
|
/// </summary>
|
|
/// <param name="postId"></param>
|
|
/// <returns></returns>
|
|
public static bool isExistButtonToMenu(string buttonToMenuId)
|
|
{
|
|
Model.Sys_ButtonToMenu b = Funs.DB.Sys_ButtonToMenu.FirstOrDefault(e => e.ButtonToMenuId == buttonToMenuId);
|
|
if (b != null)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除按钮权限
|
|
/// </summary>
|
|
/// <param name="roleId"></param>
|
|
public static void DeleteButtonPower(string roleId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
var bt = from x in db.Sys_ButtonPower where x.RoleId == roleId select x;
|
|
if (bt.Count() > 0)
|
|
{
|
|
db.Sys_ButtonPower.DeleteAllOnSubmit(bt);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除按钮权限
|
|
/// </summary>
|
|
/// <param name="roleId"></param>
|
|
public static void DeleteButtonPowerByRoleIdMenuType(string roleId, string menuType)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
var bt = from x in db.Sys_ButtonPower
|
|
join y in db.Sys_Menu on x.MenuId equals y.MenuId
|
|
where x.RoleId == roleId && y.MenuType == menuType
|
|
select x;
|
|
if (bt.Count() > 0)
|
|
{
|
|
db.Sys_ButtonPower.DeleteAllOnSubmit(bt);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除权限
|
|
/// </summary>
|
|
/// <param name="roleId"></param>
|
|
public static void DeleteButtonPowerByMenuId(string menuId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
var bt = from x in db.Sys_ButtonPower where x.MenuId == menuId select x;
|
|
if (bt.Count() > 0)
|
|
{
|
|
db.Sys_ButtonPower.DeleteAllOnSubmit(bt);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 增加按钮权限
|
|
/// </summary>
|
|
/// <param name="power"></param>
|
|
public static void SaveButtonPower(Model.Sys_ButtonPower btn)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
string newKeyID = SQLHelper.GetNewID(typeof(Model.Sys_ButtonPower));
|
|
Model.Sys_ButtonPower button = new Model.Sys_ButtonPower
|
|
{
|
|
ButtonPowerID = newKeyID,
|
|
RoleId = btn.RoleId,
|
|
MenuId = btn.MenuId,
|
|
ButtonToMenuId = btn.ButtonToMenuId
|
|
};
|
|
|
|
db.Sys_ButtonPower.InsertOnSubmit(button);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
}
|