2021-04-30 10:28:37 +08:00
|
|
|
|
namespace BLL
|
|
|
|
|
{
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
public static class RoleService
|
|
|
|
|
{
|
|
|
|
|
public static Model.SGGLDB db = Funs.DB;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取角色信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="roleId">角色Id</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static Model.Sys_Role GetRoleByRoleId(string roleId)
|
|
|
|
|
{
|
|
|
|
|
return Funs.DB.Sys_Role.FirstOrDefault(x => x.RoleId == roleId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static string GetRoleTypeByRoleId(string roleId)
|
|
|
|
|
{
|
|
|
|
|
string type = string.Empty;
|
|
|
|
|
var getRole= Funs.DB.Sys_Role.FirstOrDefault(x => x.RoleId == roleId);
|
|
|
|
|
if (getRole != null)
|
|
|
|
|
{
|
|
|
|
|
type = getRole.RoleType;
|
|
|
|
|
}
|
|
|
|
|
return type;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取角色名称是否存在
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="roleId">角色id</param>
|
|
|
|
|
/// <param name="roleName">角色名称</param>
|
|
|
|
|
/// <returns>是否存在</returns>
|
|
|
|
|
public static bool IsExistRoleName(string roleId, string roleName)
|
|
|
|
|
{
|
|
|
|
|
bool isExist = false;
|
|
|
|
|
var role = Funs.DB.Sys_Role.FirstOrDefault(x => x.RoleName == roleName && x.RoleId != roleId);
|
|
|
|
|
if (role != null)
|
|
|
|
|
{
|
|
|
|
|
isExist = true;
|
|
|
|
|
}
|
|
|
|
|
return isExist;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 增加角色
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="role"></param>
|
|
|
|
|
public static void AddRole(Model.Sys_Role role)
|
|
|
|
|
{
|
|
|
|
|
Model.SGGLDB db = Funs.DB;
|
|
|
|
|
Model.Sys_Role newRole = new Model.Sys_Role
|
|
|
|
|
{
|
|
|
|
|
RoleId = role.RoleId,
|
|
|
|
|
RoleCode = role.RoleCode,
|
|
|
|
|
RoleName = role.RoleName,
|
|
|
|
|
Def = role.Def,
|
2022-04-14 11:15:34 +08:00
|
|
|
|
CNProfessionalIds=role.CNProfessionalIds,
|
2021-04-30 10:28:37 +08:00
|
|
|
|
IsSystemBuilt = role.IsSystemBuilt,
|
|
|
|
|
IsOffice = role.IsOffice,
|
|
|
|
|
RoleType=role.RoleType,
|
|
|
|
|
};
|
|
|
|
|
db.Sys_Role.InsertOnSubmit(newRole);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 修改角色信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="roleId"></param>
|
|
|
|
|
/// <param name="roleName"></param>
|
|
|
|
|
/// <param name="def"></param>
|
|
|
|
|
public static void UpdateRole(Model.Sys_Role role)
|
|
|
|
|
{
|
|
|
|
|
Model.SGGLDB db = Funs.DB;
|
|
|
|
|
Model.Sys_Role updateRole = db.Sys_Role.FirstOrDefault(e => e.RoleId == role.RoleId);
|
|
|
|
|
if (updateRole != null)
|
|
|
|
|
{
|
|
|
|
|
updateRole.RoleCode = role.RoleCode;
|
|
|
|
|
updateRole.RoleName = role.RoleName;
|
|
|
|
|
updateRole.Def = role.Def;
|
2022-04-14 11:15:34 +08:00
|
|
|
|
updateRole.CNProfessionalIds = role.CNProfessionalIds;
|
2021-04-30 10:28:37 +08:00
|
|
|
|
updateRole.IsOffice = role.IsOffice;
|
|
|
|
|
updateRole.RoleType = role.RoleType;
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 删除角色
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="roleId"></param>
|
|
|
|
|
public static void DeleteRole(string roleId)
|
|
|
|
|
{
|
|
|
|
|
Model.SGGLDB db = Funs.DB;
|
|
|
|
|
Model.Sys_Role deleteRole = db.Sys_Role.FirstOrDefault(e => e.RoleId == roleId);
|
|
|
|
|
if (deleteRole != null)
|
|
|
|
|
{
|
|
|
|
|
///删除对应权限表记录
|
|
|
|
|
BLL.ButtonPowerService.DeleteButtonPower(roleId);
|
|
|
|
|
var rolePower = from x in db.Sys_RolePower where x.RoleId == roleId select x;
|
|
|
|
|
if (rolePower.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
db.Sys_RolePower.DeleteAllOnSubmit(rolePower);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
db.Sys_Role.DeleteOnSubmit(deleteRole);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取角色下拉选项
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static List<Model.Sys_Role> GetRoleDropDownList(string roleId, bool? isOffice)
|
|
|
|
|
{
|
|
|
|
|
var list = (from x in Funs.DB.Sys_Role orderby x.RoleCode select x).ToList();
|
|
|
|
|
if (!string.IsNullOrEmpty(roleId))
|
|
|
|
|
{
|
|
|
|
|
list = list.Where(x => x.RoleId != roleId).ToList();
|
|
|
|
|
}
|
|
|
|
|
if (isOffice.HasValue)
|
|
|
|
|
{
|
|
|
|
|
if (isOffice.Value)
|
|
|
|
|
{
|
|
|
|
|
list = list.Where(x => x.IsOffice == true).ToList();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
list = list.Where(x => x.IsOffice == false || !x.IsOffice.HasValue).ToList();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 得到角色名称字符串
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="bigType"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static string getRoleNamesRoleIds(object roleIds)
|
|
|
|
|
{
|
|
|
|
|
string roleName = string.Empty;
|
|
|
|
|
if (roleIds != null)
|
|
|
|
|
{
|
|
|
|
|
string[] roles = roleIds.ToString().Split(',');
|
|
|
|
|
foreach (string roleId in roles)
|
|
|
|
|
{
|
|
|
|
|
var q = GetRoleByRoleId(roleId);
|
|
|
|
|
if (q != null && !roleName.Contains(q.RoleName))
|
|
|
|
|
{
|
|
|
|
|
roleName += q.RoleName + ",";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (roleName != string.Empty)
|
|
|
|
|
{
|
|
|
|
|
roleName = roleName.Substring(0, roleName.Length - 1); ;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return roleName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 角色下拉框
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="dropName">下拉框名字</param>
|
|
|
|
|
/// <param name="projectId">项目id</param>
|
|
|
|
|
/// <param name="isShowPlease">是否显示请选择</param>
|
|
|
|
|
public static void InitRoleDropDownList(FineUIPro.DropDownList dropName, string roleId, bool? isOffice, bool isShowPlease)
|
|
|
|
|
{
|
|
|
|
|
dropName.DataValueField = "RoleId";
|
|
|
|
|
dropName.DataTextField = "RoleName";
|
|
|
|
|
dropName.DataSource = BLL.RoleService.GetRoleDropDownList(roleId, isOffice);
|
|
|
|
|
dropName.DataBind();
|
|
|
|
|
if (isShowPlease)
|
|
|
|
|
{
|
|
|
|
|
Funs.FineUIPleaseSelect(dropName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|