/** * * @param Transfer $transfer * @param string $batchNumber * @param bool $quarantine * @return stdClass */ public function createTransfer(Transfer $transfer, $batchNumber, $quarantine = false) { $lines = array(); $transferLines = $transfer->getLines(); $numberOfLines = $transfer->getLines()->count(); while ($transferLine = $transferLines->read()) { $lines[] = $this->createTransferLine($transferLine, $batchNumber); } $quarantine = $quarantine == false ? 0 : 1; $parameters['transfer'] = array('fromWarehouse' => utf8_encode($transfer->getIdWarehouseOrigin()), 'IdFolioImport' => $transfer->getIdFolioImport(), 'InspectionResult' => utf8_encode($transfer->getInspectionResult()), 'SamplingType' => $transfer->getSamplingType(), 'Status' => $transfer->getStatus(), 'Comments' => utf8_encode($transfer->getComments()), 'Quarantine' => $quarantine, 'transferLines' => $lines); if ($numberOfLines) { $result = $this->soapClient->createTransfer($parameters); } else { $result->createTransferResult->success = true; $result->createTransferResult->message = true; } return $result; }