示例#1
0
 /**
  * Tasks before update
  */
 protected function before()
 {
     if ($this->knowsOldObject()) {
         $this->OldObject->synchronize();
     }
     $this->NewObject->synchronize();
 }
 /**
  * Run recalculations
  */
 public function run()
 {
     $Query = $this->getQuery();
     $Update = $this->prepareUpdate();
     while ($Data = $Query->fetch()) {
         $Elevation = \Runalyze\Model\Entity::explode($Data['elevations']);
         $Calculator = new Elevation\Calculation\Calculator($Elevation);
         $Calculator->calculate();
         if ($Calculator->totalElevation() != $Data['elevation'] || $Calculator->elevationUp() != $Data['elevation_up']) {
             $Update->bindValue(':id', $Data['id']);
             $Update->bindValue(':elevation', $Calculator->totalElevation());
             $Update->bindValue(':elevation_up', $Calculator->elevationUp());
             $Update->bindValue(':elevation_down', $Calculator->elevationDown());
             $Update->execute();
             $this->NumberOfRoutes++;
         }
         $this->Results[$Data['id']] = array($Calculator->totalElevation(), $Calculator->elevationUp(), $Calculator->elevationDown());
     }
 }
示例#3
0
 /**
  * Synchronize
  */
 public function synchronize()
 {
     parent::synchronize();
     $this->ensureAllNumericValues();
 }
示例#4
0
 /**
  * Clear
  */
 public function clear()
 {
     parent::clear();
     $this->Pauses->clear();
 }
示例#5
0
 /**
  * Tasks before insertion
  */
 protected function before()
 {
     $this->Object->synchronize();
 }