CNCEC_SUBQHSE_WUHUAN/SGGL/BLL/SysManage/RoleService.cs

190 lines
6.3 KiB
C#
Raw Normal View History

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);
}
}
}
}