Пример #1
0
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;
}