/** * @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; }