public void Authorize(string roleId, params string[] perIds) { //a.角色需要重新设置的权限ID集合。 var listNewPerIds = perIds.ToList(); //b.角色原有的授权信息。 var listOldPers = _roleAuthorizeRepository.GetList(roleId); //c.删除角色新设置和原有授权信息集合中相同的记录。 for (int i = listOldPers.Count - 1; i >= 0; i--) { if (listNewPerIds.Contains(listOldPers[i].ModuleId)) { listNewPerIds.Remove(listOldPers[i].ModuleId); listOldPers.Remove(listOldPers[i]); } } //d.新集合中剩下的授权信息新增到数据库。 listNewPerIds.ForEach((perId) => { _roleAuthorizeRepository.Insert(new Sys_RoleAuthorize() { RoleId = roleId, ModuleId = perId, Id = Guid.NewGuid().ToString(), CreateUser = OperatorProvider.Instance.Current.Account, CreateTime = DateTime.Now }); }); //e.旧集合中剩下的授权信息从数据库中删除。 listOldPers.ForEach((perObj) => { _roleAuthorizeRepository.Delete(perObj); }); }
public override int Delete(params Guid[] primaryKeys) { //删除权限与角色的对应关系。 _roleAuthorizeRepository.Delete(t => primaryKeys.Contains(t.ModuleId.Value)); return(_permissionRepository.Delete(primaryKeys)); }
public void Delete(RoleAuthorizeEntity entity) { service.Delete(entity); }
public int Delete(params string[] primaryKeys) { //删除权限与角色的对应关系。 _roleAuthorizeRepository.Delete(primaryKeys); return(_permissionRepository.Delete(primaryKeys)); }
public override int Delete(Guid[] primaryKeys) { _roleAuthorizeRepository.Delete(t => primaryKeys.Contains(t.RoleId.Value)); return(base.Delete(primaryKeys)); }