示例#1
0
 public static function saveAddressModel($latitude, $longitude, $formType)
 {
     $responseDTO = new ResponseDTO($formType);
     try {
         if (!is_null($longitude) && !is_null($latitude)) {
             $addressDTO = new AddressDTO($latitude, $longitude);
             $addressDAO = new AddressDAO();
             $existingAddress = $addressDAO->checkIfAddressExist($addressDTO);
             if (!is_null($existingAddress)) {
                 return $existingAddress;
             } else {
                 $addressComponents = FileUtils::callGoogleReverseGeocodingService($addressDTO);
                 $addressDTO->setStreet(isset($addressComponents[STREET]) ? $addressComponents[STREET] : NULL);
                 $addressDTO->setNumber(isset($addressComponents[NUMBER]) ? $addressComponents[NUMBER] : NULL);
                 $addressDTO->setCap(isset($addressComponents[CAP]) ? $addressComponents[CAP] : NULL);
                 $addressDTO->setCity(isset($addressComponents[CITY]) ? $addressComponents[CITY] : NULL);
                 $addressDTO->setCountry(isset($addressComponents[COUNTRY]) ? $addressComponents[COUNTRY] : NULL);
                 $result = $addressDAO->insertNewAddress($addressDTO);
                 if ($result != 0) {
                     $responseDTO->setErrField(ADDRESS, "Errore durante l'inserimento di questo indirizzo   LONGITUDE: " . $addressDTO->getLongitude());
                 } else {
                     $result = $addressDAO->insertNewUserAddressVisited($addressDTO);
                     return $addressDTO;
                 }
             }
             return $responseDTO;
         } else {
             $addressDTO = new AddressDTO();
             return $addressDTO;
         }
     } catch (PDOException $pdoe) {
         throw $pdoe;
     } catch (UserNotAuthenticatedExceptionDTO $authExp) {
         throw $authExp;
     } catch (Exception $e) {
         throw $e;
     }
 }