/** * @param PhoneNumber $number * @return void */ public function removeNumber(PhoneNumber $number) { if (!$this->repository->findById($number->getId())) { throw new NotExistingPhoneNumberException(sprintf('Phone number with [id = %d] does not exist', $number->getId())); } $this->repository->remove($number); $this->repository->synchronize(); }
/** * @param PhoneNumber $phoneNumber * @param bool|true $validate */ public function editPhoneNumber(PhoneNumber $phoneNumber, $validate = true) { if ($validate) { $this->validatePhoneNumber($phoneNumber); } $this->repository->save($phoneNumber); $this->repository->synchronize(); }
/** * @param PhoneNumber $phoneNumber * @param User $user * @param bool $validate */ public function addNumberToUser(PhoneNumber $phoneNumber, User $user, $validate = true) { $user->addPhoneNumber($phoneNumber); $phoneNumber->setOwner($user); if ($validate) { $this->validateInput($phoneNumber, $user); } $this->numberRepository->save($phoneNumber); $this->numberRepository->synchronize(); }