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; /// /// 获取角色信息 /// /// 角色Id /// public static Model.Sys_Role GetRoleByRoleId(string roleId) { return Funs.DB.Sys_Role.FirstOrDefault(x => x.RoleId == roleId); } public static Model.Sys_Role getRoleByName(string roleName) { return Funs.DB.Sys_Role.FirstOrDefault(x => x.RoleName == roleName); } 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; } /// /// 获取角色名称是否存在 /// /// 角色id /// 角色名称 /// 是否存在 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; } /// /// 增加角色 /// /// 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, IsSystemBuilt = role.IsSystemBuilt, IsOffice = role.IsOffice, RoleType=role.RoleType, }; db.Sys_Role.InsertOnSubmit(newRole); db.SubmitChanges(); } /// /// 修改角色信息 /// /// /// /// 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; updateRole.IsOffice = role.IsOffice; updateRole.RoleType = role.RoleType; db.SubmitChanges(); } } /// /// 删除角色 /// /// 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(); } } /// /// 获取角色下拉选项 /// /// public static List 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; } /// /// 得到角色名称字符串 /// /// /// 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; } public static string getRoleNamesRoleIdsForApi(object roleIds) { string roleName = string.Empty; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { if (roleIds != null) { string[] roles = roleIds.ToString().Split(','); foreach (string roleId in roles) { var q = db.Sys_Role.FirstOrDefault(x => x.RoleId == roleId); if (q != null && !roleName.Contains(q.RoleName)) { roleName += q.RoleName + ","; } } if (roleName != string.Empty) { roleName = roleName.Substring(0, roleName.Length - 1); ; } } } return roleName; } /// /// 角色下拉框 /// /// 下拉框名字 /// 项目id /// 是否显示请选择 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); } } } }