/**
  * @param string $result
  *
  * @return bool
  */
 public function doUpdate($result)
 {
     $return = true;
     $xml = $this->createXmlObject($result);
     $stations = $xml->result->rowset->row;
     foreach ($stations as $station) {
         $data = self::getXmlAttr($station);
         /** @var ConquerableStation $conquerableStation */
         $conquerableStation = ConquerableStation::findOne(['stationID' => $data['stationID']]);
         if (!$conquerableStation) {
             $conquerableStation = new ConquerableStation();
             $conquerableStation->stationID = $data['stationID'];
             $conquerableStation->timeUpdate = time();
         } else {
             if ($conquerableStation->stationName != $data['stationName'] || $conquerableStation->corporationID != $data['corporationID']) {
                 // only owner and name can be changed in game, all others data is not changeable
                 $conquerableStation->timeUpdate = time();
             }
         }
         $conquerableStation->stationID = $data['stationID'];
         $conquerableStation->stationName = $data['stationName'];
         $conquerableStation->stationTypeID = $data['stationTypeID'];
         $conquerableStation->solarSystemID = $data['solarSystemID'];
         $conquerableStation->corporationID = $data['corporationID'];
         $conquerableStation->corporationName = $data['corporationName'];
         $return = $conquerableStation->save() && $return;
     }
     return $return;
 }
 /**
  * @param array|null $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = ConquerableStation::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!$this->load($params) && !$this->validate()) {
         return $dataProvider;
     }
     $query->andFilterWhere(['like', 'stationID', $this->stationID])->andFilterWhere(['like', 'solarSystemID', $this->solarSystemID])->andFilterWhere(['like', 'stationName', $this->stationName]);
     return $dataProvider;
 }