public void addReport(Transaction transaction, CallReportDto report) throws IOException {
    // TODO: STUB CODE, MUST MODIFY, DELETE THIS LINE WHEN DONE
    PreparedStatement prepareStatement = null;
    ResultSet resultSet = null;

    try {
      Connection connection = transaction.getResource(Connection.class);
      prepareStatement = connection.prepareStatement(ADD_REPORT);
      prepareStatement.setInt(1, getSeq(transaction));
      prepareStatement.setInt(2, report.getContact().getSeq());
      prepareStatement.setTimestamp(3, new java.sql.Timestamp(report.getCallTime().getTime()));
      prepareStatement.setString(4, report.getDetail());
      prepareStatement.setString(5, report.getRating());
      prepareStatement.setString(6, report.getSalesperson().getId());
      prepareStatement.setInt(7, report.getCallBack());
      prepareStatement.setInt(8, report.getActId());

      resultSet = prepareStatement.executeQuery();

    } catch (SQLException e) {
      throw new IOException(e);
    } finally {
      if (resultSet != null) {
        try {
          resultSet.close();
        } catch (SQLException e) {
          logger.warn(e.getMessage(), e);
        }
      }
      if (prepareStatement != null) {
        try {
          prepareStatement.close();
        } catch (SQLException e) {
          logger.warn(e.getMessage(), e);
        }
      }
    }
  }