| @@ 297-325 (lines=29) @@ | ||
| 294 | * @throws ZohoCRMResponseException |
|
| 295 | * @throws \Exception |
|
| 296 | */ |
|
| 297 | public function getDeletedRecordIds(\DateTimeInterface $lastModifiedTime = null, $limit = null) |
|
| 298 | { |
|
| 299 | $globalDeletedIDs = array(); |
|
| 300 | ||
| 301 | do { |
|
| 302 | try { |
|
| 303 | $fromIndex = count($globalDeletedIDs) + 1; |
|
| 304 | $toIndex = $fromIndex + self::MAX_GET_RECORDS - 1; |
|
| 305 | ||
| 306 | if ($limit) { |
|
| 307 | $toIndex = min($limit - 1, $toIndex); |
|
| 308 | } |
|
| 309 | ||
| 310 | $response = $this->zohoClient->getDeletedRecordIds($this->getModule(), $lastModifiedTime, $fromIndex, $toIndex); |
|
| 311 | $deletedIDs = $response->getDeletedIds(); |
|
| 312 | } catch (ZohoCRMResponseException $e) { |
|
| 313 | // No records found? Let's return an empty array! |
|
| 314 | if ($e->getZohoCode() == 4422) { |
|
| 315 | $deletedIDs = array(); |
|
| 316 | } else { |
|
| 317 | throw $e; |
|
| 318 | } |
|
| 319 | } |
|
| 320 | ||
| 321 | $globalDeletedIDs = array_merge($globalDeletedIDs, $deletedIDs); |
|
| 322 | } while (count($deletedIDs) == self::MAX_GET_RECORDS); |
|
| 323 | ||
| 324 | return $globalDeletedIDs; |
|
| 325 | } |
|
| 326 | ||
| 327 | /** |
|
| 328 | * Implements getRecords API method. |
|
| @@ 338-366 (lines=29) @@ | ||
| 335 | * |
|
| 336 | * @throws ZohoCRMResponseException |
|
| 337 | */ |
|
| 338 | public function getRelatedRecords($id, $parentModule, $limit = null) |
|
| 339 | { |
|
| 340 | $globalResponse = array(); |
|
| 341 | ||
| 342 | do { |
|
| 343 | try { |
|
| 344 | $fromIndex = count($globalResponse) + 1; |
|
| 345 | $toIndex = $fromIndex + self::MAX_GET_RECORDS - 1; |
|
| 346 | ||
| 347 | if ($limit) { |
|
| 348 | $toIndex = min($limit - 1, $toIndex); |
|
| 349 | } |
|
| 350 | ||
| 351 | $response = $this->zohoClient->getRelatedRecords($this->getModule(), $id, $parentModule, $fromIndex, $toIndex); |
|
| 352 | $beans = $this->getBeansFromResponse($response); |
|
| 353 | } catch (ZohoCRMResponseException $e) { |
|
| 354 | // No records found? Let's return an empty array! |
|
| 355 | if ($e->getCode() == 4422) { |
|
| 356 | $beans = array(); |
|
| 357 | } else { |
|
| 358 | throw $e; |
|
| 359 | } |
|
| 360 | } |
|
| 361 | ||
| 362 | $globalResponse = array_merge($globalResponse, $beans); |
|
| 363 | } while (count($beans) == self::MAX_GET_RECORDS); |
|
| 364 | ||
| 365 | return $globalResponse; |
|
| 366 | } |
|
| 367 | ||
| 368 | /** |
|
| 369 | * Implements searchRecords API method. |
|