Пример #1
0
 /**
  * Refresh restaurants by postcode
  * 
  * @param Postcode $currentPostcode
  * @return Postcode
  */
 protected function _refreshPostcode($currentPostcode)
 {
     $manager = $this->getDoctrine()->getManager();
     $result = $this->_callJusteat('restaurants?q=' . $currentPostcode->getPostcode());
     $JERestaurants = json_decode($result);
     $restaurantRepo = $manager->getRepository('TycoonApiBundle:Restaurant');
     $cuisineRepo = $manager->getRepository('TycoonApiBundle:Cuisine');
     foreach ($JERestaurants->Restaurants as $JERestaurant) {
         // Load restaurant
         $currentRestaurant = $restaurantRepo->findOneByJusteatId($JERestaurant->Id);
         if (empty($currentRestaurant)) {
             // Create restaurant
             $currentRestaurant = new Restaurant();
             $currentRestaurant->setJusteatId($JERestaurant->Id);
         }
         $currentRestaurant->setName($JERestaurant->Name);
         $currentRestaurant->setAddress($JERestaurant->Address);
         if (!empty($JERestaurant->City)) {
             $currentRestaurant->setCity($JERestaurant->City);
         }
         if (!empty($JERestaurant->Url)) {
             $currentRestaurant->setUrl($JERestaurant->Url);
         }
         if (!empty($JERestaurant->Logo[0]->StandardResolutionURL)) {
             $currentRestaurant->setLogo($JERestaurant->Logo[0]->StandardResolutionURL);
         }
         if (!empty($JERestaurant->Latitude)) {
             $currentRestaurant->setLatitude($JERestaurant->Latitude);
         }
         if (!empty($JERestaurant->Longitude)) {
             $currentRestaurant->setLongitude($JERestaurant->Longitude);
         }
         if (!empty($JERestaurant->Score)) {
             $currentRestaurant->setScore($JERestaurant->Score);
         }
         foreach ($JERestaurant->CuisineTypes as $cuisineType) {
             // Load cuisine
             $currentCuisine = $cuisineRepo->findOneByJusteatId($cuisineType->Id);
             if (empty($currentCuisine)) {
                 // Create cuisine
                 $currentCuisine = new Cuisine();
                 $currentCuisine->setJusteatId($cuisineType->Id);
                 $currentCuisine->setName($cuisineType->Name);
             }
             $currentRestaurant->addCuisine($currentCuisine);
             $currentCuisine->addRestaurant($currentRestaurant);
             $manager->persist($currentCuisine);
         }
         $currentRestaurant->addPostcode($currentPostcode);
         $currentPostcode->addRestaurant($currentRestaurant);
         $manager->persist($currentRestaurant);
         $manager->flush();
     }
     $currentPostcode->initRefreshedAt();
     $manager->persist($currentPostcode);
     $manager->flush();
     return $currentPostcode;
 }
Пример #2
0
 function testSetRestaurantName()
 {
     //arrange
     $name = "Taco Hell";
     $test_restaurant = new Restaurant($name);
     //act
     $test_restaurant->setName("Taco Hell");
     $result = $test_restaurant->getName();
     //assert
     $this->assertEquals("Taco Hell", $result);
 }
 public function buildAtms($xml)
 {
     $pageOffset = (string) $xml->PageOffset;
     $totalCount = (string) $xml->TotalCount;
     $restaurantArray = array();
     foreach ($xml->Restaurant as $restaurant) {
         $tmpRestaurant = new Restaurant();
         $tmpRestaurant->setId((string) $restaurant->Id);
         $tmpRestaurant->setName((string) $restaurant->Name);
         $tmpRestaurant->setWebsiteUrl((string) $restaurant->WebsiteUrl);
         $tmpRestaurant->setPhoneNumber((string) $restaurant->PhoneNumber);
         $tmpRestaurant->setCategory((string) $restaurant->Category);
         $tmpRestaurant->setLocalFavoriteInd((string) $restaurant->LocalFavoriteInd);
         $tmpRestaurant->setHiddenGemInd((string) $restaurant->HiddenGemInd);
         $tmpLocation = new Location();
         $location = $restaurant->Location;
         $tmpLocation->setName((string) $location->Name);
         $tmpLocation->setDistance((string) $location->Distance);
         $tmpLocation->setDistanceUnit((string) $location->DistanceUnit);
         $tmpAddress = new Address();
         $address = $location->Address;
         $tmpAddress->setLine1((string) $address->Line1);
         $tmpAddress->setLine2((string) $address->Line2);
         $tmpAddress->setCity((string) $address->City);
         $tmpAddress->setPostalCode((string) $address->PostCode);
         $tmpCountry = new Country();
         $tmpCountry->setName((string) $address->Country->Name);
         $tmpCountry->setCode((string) $address->Country->Code);
         $tmpCountrySubdivision = new CountrySubdivision();
         $tmpCountrySubdivision->setName((string) $address->CountrySubdivision->Name);
         $tmpCountrySubdivision->setCode((string) $address->CountrySubdivision->Code);
         $tmpAddress->setCountry($tmpCountry);
         $tmpAddress->setCountrySubdivision($tmpCountrySubdivision);
         $tmpPoint = new Point();
         $point = $location->Point;
         $tmpPoint->setLatitude((string) $point->Latitude);
         $tmpPoint->setLongitude((string) $point->Longitude);
         $tmpLocation->setPoint($tmpPoint);
         $tmpLocation->setAddress($tmpAddress);
         $tmpRestaurant->setLocation($tmpLocation);
         array_push($restaurantArray, $tmpRestaurant);
     }
     $restaurants = new Restaurants($pageOffset, $totalCount, $restaurantArray);
     return $restaurants;
 }
Пример #4
0
 private function createRestaurant($row)
 {
     $r = new Restaurant();
     $r->setId($row['id']);
     $r->setName($row['name']);
     $r->setDescription($row['description']);
     $r->setRating($row['rating']);
     $r->setRatingCount($row['rating_count']);
     $r->setPhone($row['phone']);
     $r->setLat($row['lat']);
     $r->setLng($row['lng']);
     $r->setCreated($row['created_at']);
     $r->setAddress($row['address']);
     $r->setZip($row['zip']);
     $r->setCity($row['city']);
     $r->setWebsite($row['website']);
     $r->setEmail($row['email']);
     $r->setPricegroup($row['pricegroup']);
     $r->setTypes($row['types']);
     //$r->setModified($row['modified_at']);
     return $r;
 }