/**
  * @param \Pipe\Organization $org
  * @throws \Exception
  */
 public function saveToPipe(\Pipe\Organization $org)
 {
     $postData = array('name' => $org->getName(), 'owner_id' => Config::get('pipedrive')['org_owner_id'], 'visible_to' => $org::VISIBLE_TO_COMPANY);
     $this->log->write('Saving ' . print_r($postData, true) . 'to pipe drive');
     try {
         $responseData = (new PipeApi())->makeRequest($postData, 'organizations');
         $response = json_decode($responseData, true);
     } catch (\Exception $e) {
         $this->logAndForwardException($e);
     }
     $this->log->write('Response' . print_r($response, true));
     if ($response) {
         if (!$response['success']) {
             throw new \Exception($response['error']);
         } else {
             $org->setPipeId($response['data']['id']);
         }
     } else {
         throw new \Exception('No RESPONSE!');
     }
     //save daughters
     if (count($org->getDaughters())) {
         foreach ($org->getDaughters() as $daughter) {
             $this->saveToPipe($daughter);
         }
     }
 }
 public function setDataFromArray(array $data, \Pipe\Organization $org)
 {
     $org->setId($data['id'])->setName($data['name'])->setPipeId($data['pipe_id'])->setPipeRelId($data['pipe_rel_id']);
     return $org;
 }