dolibarrService = $dolibarrService; } public function supports(string $resourceClass, string $operationName = null, array $context = []): bool { return DolibarrAccount::class === $resourceClass; } public function getItem(string $resourceClass, $id, string $operationName = null, array $context = []): ?DolibarrAccount { $dolibarrAccount = new DolibarrAccount(); $accountData = $this->dolibarrService->getSociety($id); $billsData = $this->dolibarrService->getBills($accountData['id']); $dolibarrAccount->setOrganizationId($id); $dolibarrAccount->setSocId($accountData['id']); $dolibarrAccount->setClientNumber($accountData['code_client']); $dolibarrAccount->setProduct($accountData['array_options']['options_2iopen_software_used']); // $dolibarrAccount->setSmsCredit(); // $dolibarrAccount->setServices($accountData['code_client']); foreach ($billsData as $billData) { $bill = new DolibarrBill(); $bill->setBillId($billData['id']); $bill->setSocId($dolibarrAccount->getSocId()); $bill->setAmount($billData['total_ttc']); $bill->setDate($billData['date']); $bill->setPaid((bool)$billData['paye']); $dolibarrAccount->addBill($bill); } return $dolibarrAccount; } }