/** * 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()); } }
/** * Synchronize */ public function synchronize() { parent::synchronize(); $this->ensureAllNumericValues(); }
/** * Clear */ public function clear() { parent::clear(); $this->Pauses->clear(); }
/** * Tasks before insertion */ protected function before() { $this->Object->synchronize(); }