/** * * @param SapSupplier $supplier * @param int $action */ private function syncSupplier(SapSupplier $supplier, $action) { $addresses = array(); $contactEmployees = array(); $sapSupplierAddresses = $supplier->getAddresses(); $sapSupplierContactEmployees = $supplier->getContacts(); while ($sapSupplierAddress = $sapSupplierAddresses->read()) { $addresses[] = self::createSapSupplierAddress($sapSupplierAddress); } while ($sapSupplierContactEmployee = $sapSupplierContactEmployees->read()) { $contactEmployees[] = self::createSapSupplierContactEmployee($sapSupplierContactEmployee); } $parameters['sapBusinessPartner'] = array("Cardcode" => $supplier->getCardcode(), "Cardname" => utf8_encode($supplier->getCardname()), "Currency" => $supplier->getCurrency(), "GroupNum" => $supplier->getGroupnum(), "GroupCode" => $supplier->getGroupCode(), "LicTradNum" => utf8_encode($supplier->getRfc()), "CmpRegistrationNumber" => 123, "concistency" => $supplier->getConsistency(), "idApprovalStatus" => $supplier->getIdApprovalStatus(), "idDefinedPort" => $supplier->getIdDefaultPort(), "idFinalGrandRisk" => $supplier->getIdFinalRisk(), "idPaymentTerms" => $supplier->getIdPaymentTerm(), "quality" => $supplier->getQuality(), "time" => $supplier->getTime(), "remarks" => utf8_encode($supplier->getNotes()), "paydays" => $supplier->getPayDays(), "typeCompany" => $supplier->getCmpPrivate(), "SupplierAddresses" => $addresses, "contactPersons" => $contactEmployees); $parameters['movimiento'] = $action; $result = $this->soapClient->sapProveedor($parameters); return $result; }