function searchObjectParser($data) { $searchObject = new SearchObject(); if (isset($data['firstName'])) { $searchObject->setFirstName($data['firstName']); } if (isset($data['name'])) { $searchObject->setName($data['name']); } if (isset($data['company'])) { $searchObject->setCompany($data['company']); } if (isset($data['address'])) { $dataAddress = $data['address']; $address = new Address(); if (isset($dataAddress['line1'])) { $address->setLine1($dataAddress['line1']); } if (isset($dataAddress['line2'])) { $address->setLine2($dataAddress['line2']); } if (isset($dataAddress['zipCode'])) { $address->setZipCode($dataAddress['zipCode']); } if (isset($dataAddress['city'])) { $address->setCity($dataAddress['city']); } if (isset($dataAddress['latitude']) && isset($dataAddress['longitude'])) { $address->setLatitude($dataAddress['latitude']); $address->setLongitude($dataAddress['longitude']); } else { $mapService = new GoogleMapService(); $latlng = $mapService->getLatLong($address); if ($latlng != [] && sizeof($latlng) == 2) { $address->setLatitude($latlng[0]); $address->setLongitude($latlng[1]); } } $searchObject->setAddress($address); } if (isset($data['typeName'])) { $searchObject->setTypeName($data['typeName']); } if (isset($data['rayon'])) { $searchObject->setRayon($data['rayon']); } return $searchObject; }