/**
  * @param \Pipe\Organization $org
  * @throws \Exception
  */
 public function saveToPipe(\Pipe\Organization $org)
 {
     if (count($org->getDaughters())) {
         foreach ($org->getDaughters() as $daughter) {
             $postData = array('type' => \Pipe\OrganizationRelationship::TYPE_PARENT, 'rel_owner_org_id' => $org->getPipeId(), 'rel_linked_org_id' => $daughter->getPipeId());
             $this->log->write('Saving ' . print_r($postData, true) . 'to pipe drive');
             try {
                 $responseData = (new PipeApi())->makeRequest($postData, 'organizationRelationships');
                 $response = json_decode($responseData, true);
             } catch (\Exception $e) {
                 $this->logAndForwardException($e);
             }
             $this->log->write('Response' . print_r($response, true));
             if ($response) {
                 $this->saveToPipe($daughter);
                 if (!$response['success']) {
                     throw new \Exception($response['error']);
                 } else {
                     $daughter->setPipeRelId($response['data']['id']);
                 }
             } else {
                 throw new \Exception('No RESPONSE!');
             }
         }
     }
 }
    /**
     * @param \Pipe\Organization $org
     */
    public function saveToLocal(\Pipe\Organization $org)
    {
        $this->getDb()->query('
			INSERT INTO organization
			SET
				name = :name,
				pipe_id = :pipe_id,
				pipe_rel_id = :pipe_rel_id
		', array('name' => $org->getName(), 'pipe_id' => $org->getPipeId(), 'pipe_rel_id' => $org->getPipeRelId()));
        $org->setId($this->getDb()->getLastInsertId());
        if (count($org->getDaughters())) {
            foreach ($org->getDaughters() as $daughter) {
                $this->saveToLocal($daughter);
            }
        }
    }