75 lines
2.3 KiB
C#
75 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace BLL
|
|
{
|
|
public static class Project_UserPowerService
|
|
{
|
|
/// <summary>
|
|
/// 增加项目人员权限
|
|
/// </summary>
|
|
/// <param name="power"></param>
|
|
public static void SaveProject_UserPower(Model.Project_UserPower power)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
string newUserPower = BLL.SQLHelper.GetNewID(typeof(Model.Project_UserPower));
|
|
Model.Project_UserPower newPower = new Model.Project_UserPower();
|
|
newPower.UserPowerId = newUserPower;
|
|
newPower.UserId = power.UserId;
|
|
newPower.MenuId = power.MenuId;
|
|
newPower.ProjectId = power.ProjectId;
|
|
db.Project_UserPower.InsertOnSubmit(newPower);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 删除项目人员权限
|
|
/// </summary>
|
|
/// <param name="postId"></param>
|
|
public static void DeleteUserPower(string UserId, string systemValue, string projectId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
var q = from x in db.Project_UserPower
|
|
join y in db.Sys_Menu on x.MenuId equals y.MenuId
|
|
where x.UserId == UserId && y.MenuModule == systemValue && x.ProjectId == projectId
|
|
select x;
|
|
|
|
if (q.Count() > 0)
|
|
{
|
|
db.Project_UserPower.DeleteAllOnSubmit(q);
|
|
}
|
|
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据人员主键获得对应的菜单权限
|
|
/// </summary>
|
|
/// <param name="UserId">人员主键</param>
|
|
/// <returns>菜单ID数组</returns>
|
|
public static string[] GetProject_UserPowerMenuIdByUserId(string UserId, string projectId)
|
|
{
|
|
var q = Funs.DB.Project_UserPower.Where(e => e.UserId == UserId && e.ProjectId == projectId);
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
}
|