public InviteModel insert(InviteModel invite) throws DAOException {
    logger.info("insert() - " + invite);

    InviteModel rtn = null;
    Connection conn = this.getConnection();
    PreparedStatement stmt = null;
    String sql = null;

    try {
      sql =
          "insert into invite (invite_id, csp_cloudname, inviter_cloudname, invited_email_address, email_subject, email_message, time_created) values (?, ?, ?, ?, ?, ?, now())";
      logger.info(sql + " : " + invite);
      stmt = conn.prepareStatement(sql);
      stmt.setString(1, invite.getInviteId());
      stmt.setString(2, invite.getCspCloudName());
      stmt.setString(3, invite.getInviterCloudName());
      stmt.setString(4, invite.getInvitedEmailAddress());
      stmt.setString(5, invite.getEmailSubject());
      stmt.setString(6, invite.getEmailMessage());

      int rows = stmt.executeUpdate();
      if (rows != 1) {
        logger.error(sql + " : " + invite + " return " + rows + " rows ");
      } else {
        rtn = invite;
      }
      stmt.close();
      stmt = null;
    } catch (SQLException e) {
      String err = "Failed to execute SQL statement - " + sql;
      logger.error(err, e);
      throw new DAOException(err, e);
    } finally {
      this.closeConnection(conn, stmt);
    }
    if (rtn == null) {
      logger.error("Invite insert failed - " + invite);
    }
    return rtn;
  }