public static function createFromSoapResponse($response) { $result = []; if (is_object($response)) { $response = [$response]; } if (is_array($response)) { foreach ($response as $siteEx) { if (!isset($siteEx->exactMatch) || !isset($siteEx->site)) { throw new SpeedyException('SiteEx structure appear to be invalid.'); } $site = Site::createFromSoapResponse($siteEx->site); $result[] = new static($site, $siteEx->exactMatch); } } return new Collection($result); }
public static function createFromSoapResponse($response) { $result = new static(); $result->site = isset($response->resultSite) && is_object($response->resultSite) ? Site::createFromSoapResponse($response->resultSite) : null; $result->postCode = isset($response->postCode) ? $response->postCode : null; $result->streetName = isset($response->streetName) ? $response->streetName : null; $result->streetType = isset($response->streetType) ? $response->streetType : null; $result->streetId = isset($response->streetId) ? (int) $response->streetId : null; $result->quarterName = isset($response->quarterName) ? $response->quarterName : null; $result->quarterType = isset($response->quarterType) ? $response->quarterType : null; $result->quarterId = isset($response->quarterId) ? (int) $response->quarterId : null; $result->streetNo = isset($response->streetNo) ? $response->streetNo : null; $result->blockNo = isset($response->blockNo) ? $response->blockNo : null; $result->entranceNo = isset($response->entranceNo) ? $response->entranceNo : null; $result->floorNo = isset($response->floorNo) ? $response->floorNo : null; $result->apartmentNo = isset($response->apartmentNo) ? $response->apartmentNo : null; $result->addressNote = isset($response->addressNote) ? $response->addressNote : null; $result->coordX = isset($response->coordX) ? (double) $response->coordX : null; $result->coordY = isset($response->coordY) ? (double) $response->coordY : null; $result->coordTypeId = isset($response->coordTypeId) ? (int) $response->coordTypeId : null; $result->commonObjectId = isset($response->commonObjectId) ? (int) $response->commonObjectId : null; $result->commonObjectName = isset($response->commonObjectName) ? $response->commonObjectName : null; $result->fullAddressString = isset($response->fullAddressString) ? $response->fullAddressString : null; $result->siteAddressString = isset($response->siteAddressString) ? $response->siteAddressString : null; $result->localAddressString = isset($response->localAddressString) ? $response->localAddressString : null; $result->countryId = isset($response->countryId) ? (int) $response->countryId : null; $result->frnAddressLine1 = isset($response->frnAddressLine1) ? $response->frnAddressLine1 : null; $result->frnAddressLine2 = isset($response->frnAddressLine2) ? $response->frnAddressLine2 : null; $result->stateId = isset($response->stateId) ? $response->stateId : null; if (!$result->streetId) { $result->streetId = null; } if (!$result->quarterId) { $result->quarterId = null; } if (!$result->commonObjectId) { $result->commonObjectId = null; } if (!$result->site || !$response->countryId) { throw new SpeedyException('Invalid address ex detected.'); } return $result; }
public static function getById($id) { /** * @var Speedy $speedy */ $speedy = app('speedy'); $site = $speedy->getSiteById($id); if (!isset($site->return) || !$site->return) { throw new SpeedyException('Invalid site detected by ID.'); } $site = Site::createFromSoapResponse($site->return); return $site; }