/// <summary> /// 删除管理员角色,将先删除角色权限表中所拥有的权限【请先判断管理员表是否已使用该角色】 /// </summary> /// <param name="roleID">角色编号</param> /// <param name="ownerCode">角色所有者编号</param> /// <param name="owner">角色所属后台系统(多后台系统:1系统后台 2用户后台等)</param> public override void DeleteSysRole(int roleID, string ownerCode, int owner) { base.DBCon.BeginTrans(); try { ////这里先判断管理员表是否已使用该角色待完成 //if (Convert.ToInt32(Script.Select().Count("0").From("admin").Where("roleid", roleID).GetScalar()) > 0) // throw new DevNetException("该管理员角色正在使用中,无法删除!"); Script.Delete().From(SysRolePermission.SysRolePermission_TableName).Where( new string[] { SysRolePermission.RoleID_FieldName, SysRolePermission.OwnerCode_FieldName, SysRolePermission.Owner_FieldName }, new object[] { roleID, ownerCode, owner }) .ExecuteNonQuery(); base.DeleteSysRole(roleID, ownerCode, owner); DBCon.CommitTrans(); } catch (DevNetException ex) { DBCon.RollBackTrans(); throw ex; } catch (Exception ex) { DBCon.RollBackTrans(); Log.Error(ex.Message, ex); throw new DevNetException((int)DevNetExceptionEnum.CatchException, ex.Message, ex.Source); } }
/// <summary> /// 删除系统角色,将先删除角色权限表中所拥有的权限【请先判断管理员表是否已使用该角色】 /// </summary> /// <param name="roleID"></param> public void DeleteSysRole(int roleID) { DBCon.BeginTrans(); try { Script.TableName = SysRole.SysRole_TableName; Script.Delete().From(SysRolePermission.SysRolePermission_TableName).Where( SysRolePermission.RoleID_FieldName, roleID).ExecuteNonQuery(); Script.Delete().From().Where(SysRole.RoleID_FieldName, roleID).ExecuteNonQuery(); DBCon.CommitTrans(); } catch (DevNetException) { DBCon.RollBackTrans(); throw; } catch (Exception ex) { DBCon.RollBackTrans(); Log.Error(ex.Message, ex); throw new DevNetException((int)DevNetExceptionEnum.CatchException, ex.Message, ex.Source); } }