/**
  * Verwijder een bepaald DomainObject uit de databank.
  *
  * Implementeert Optimist Offline Locking, indien het object gewijzigd is door iemand anders sinds het geladen werd wordt er een Exception gegenereerd.
  * @param KVDdom_DomainObject $domainObject Het DomainObject dat moet verwijderd worden.
  * @throws KVDdom_ConcurrencyException
  */
 public function delete($domainObject)
 {
     try {
         $currentVersie = $domainObject->getSystemFields()->getVersie();
         $this->LogInsert($domainObject->getId());
         $stmt = $this->_conn->prepare($this->getDeleteStatement());
         $this->doSetUpdateWhere($stmt, $domainObject->getId(), $currentVersie, 1);
         $stmt->execute();
     } catch (PDOException $e) {
         throw KVDdom_ExceptionConvertor::convert($e, $domainObject);
     }
     if ($stmt->rowCount() === 0) {
         $message = 'Het object dat u probeert te verwijderen is gewijzigd sinds u het geopend hebt. U hebt geprobeerd om versie ' . $currentVersie . ' te verwijderen.';
         throw new KVDdom_ConcurrencyException($message, $domainObject);
     }
 }
 /**
  * delete
  *
  * @param   KVDthes_Term $term
  * @return  KVDthes_Term
  */
 public function delete(KVDthes_Term $term)
 {
     try {
         $sql = sprintf('DELETE FROM %s.term WHERE thesaurus_id = %s AND id = ?', $this->parameters['schema'], $this->parameters['thesaurus_id']);
         $stmt = $this->conn->prepare($sql);
         $stmt->bindValue(1, $term->getId(), PDO::PARAM_INT);
         $stmt->execute();
     } catch (PDOException $e) {
         throw KVDdom_ExceptionConvertor::convert($e, $term);
     }
     return $term;
 }
 /**
  * Verwijder een bepaald DomainObject uit de databank.
  *
  * Deze versie kent geen concurrency control. Voor Optimistic Offline Concurrency moeten we bij KVDdom_PDOLogableDataMapper zijn.
  * @param   KVDdom_DomainObject     $domainObject   Het DomainObject dat moet verwijderd worden.
  * @throws  PDOException            Indien er een databank probleem optreed.
  */
 public function delete($domainObject)
 {
     try {
         $stmt = $this->_conn->prepare($this->getDeleteStatement());
         $stmt->bindValue(1, $domainObject->getId(), PDO::PARAM_INT);
         $stmt->execute();
     } catch (PDOException $e) {
         throw KVDdom_ExceptionConvertor::convert($e, $domainObject);
     }
 }