/** * Is client account owner has complete signature * * @param AccountOwnerInterface $accountOwner * @param DocumentSignature $signature * @return bool * @throws \RuntimeException */ public function isOwnerSignatureCompleted(AccountOwnerInterface $accountOwner, DocumentSignature $signature) { $criteria = array('documentSignature' => $signature); $owner = $accountOwner->getObjectToSave(); if ($accountOwner->getType() === ClientAccountOwner::OWNER_TYPE_SELF) { $criteria['clientOwner'] = $owner; } else { $criteria['contactOwner'] = $owner; } $ownerSignature = $this->ownerSignatureRepository->findOneBy($criteria); if (!$ownerSignature) { throw new \RuntimeException('Owner document signature does not exist.'); } return $ownerSignature->isCompleted(); }