protected function getAllExisting()
 {
     try {
         return Route::getRoutes($this->agency, TableUpdate::getLiveVersion());
     } catch (Exception $ex) {
         return false;
     }
 }
 protected function getAllExisting()
 {
     try {
         $liveRouteArray = Route::getLiveRoutes($this->route->getAgency());
         if (array_key_exists($this->route->getTag(), $liveRouteArray)) {
             $liveRoute = $liveRouteArray[$this->route->getTag()];
             return Direction::getDirections($liveRoute, TableUpdate::getLiveVersion());
         }
     } catch (Exception $ex) {
         return false;
     }
     return false;
 }
 /**
  * Given an Agency object, return an array of Route objects for the live
  * version
  * @param Agency $agency
  * @return Array Key is route tag and value is Route object
  */
 public static function getLiveRoutes(Agency $agency)
 {
     //TODO: This gets called for every direction. Needs to be cached
     return self::getRoutes($agency, TableUpdate::getLiveVersion());
 }
 protected function getChangesAsString()
 {
     $data = "Version: Current - " . TableUpdate::getVersion() . " | Live - " . TableUpdate::getLiveVersion() . "\n";
     if (count($this->addedTags) > 0) {
         $data .= "Added:\n";
         $data .= implode(", ", $this->addedTags) . "\n\n";
     }
     if (count($this->removedTags) > 0) {
         $data .= "Removed:\n";
         $data .= implode(", ", $this->removedTags) . "\n\n";
     }
     if (count($this->changedTags) > 0) {
         $data .= "Changes:\n";
         foreach ($this->changedTags as $tag => $changes) {
             $data .= "{$tag}\n";
             foreach ($changes as $column => $change) {
                 $data .= "{$column} - {$change}\n";
             }
             $data .= "\n\n\n";
         }
     }
     return $data;
 }