using System; using System.Collections.Generic; using System.Linq; using System.Text; using Central.Control.Domain; using MES.Production.Service.IService; namespace MES.Production.Service.ServiceImp { /// /// Service层角色授权关系接口 /// add 作者: 季健国 QQ:181589805 by 2016-05-22 /// public class RolePermissionManage : RepositoryBase,IService.IRolePermissionManage { IPermissionManage PermissionManage { get; set; } /// /// 保存角色权限 /// public bool SetRolePermission(int roleId, string newper, string sysId) { try { //1、获取当前系统的模块ID集合 var permissionId = this.PermissionManage.GetPermissionIdBySysId(sysId).Cast().ToList(); //2、获取角色权限,是否存在,存在即删除,只删除当前选择的系统 if (this.IsExist(p => p.ROLEID == roleId && permissionId.Any(e => e == p.PERMISSIONID))) { //3、删除角色权限 this.Delete(p => p.ROLEID == roleId && permissionId.Any(e => e == p.PERMISSIONID)); } //4、添加角色权限 if (string.IsNullOrEmpty(newper)) return true; //Trim 保证数据安全 var str = newper.Trim(',').Split(','); foreach (var per in str.Select(t => new SYS_ROLE_PERMISSION() { PERMISSIONID = int.Parse(t), ROLEID = roleId })) { this.dbSet.Add(per); } //5、Save return this.Context.SaveChanges() > 0; } catch (Exception e) { throw e.InnerException; } } } }