public function testSimpleUpdate() { $Inserter = new Inserter($this->PDO, new Object(array(Object::ACTIVITYID => 1, Object::TIME => array(20, 40, 60), Object::DISTANCE => array(0.1, 0.2, 0.3), Object::HEARTRATE => array(100, 120, 130)))); $Inserter->setAccountID(1); $Inserter->insert(); $Track = new Object($this->PDO->query('SELECT * FROM `' . PREFIX . 'trackdata` WHERE `activityid`=1')->fetch(PDO::FETCH_ASSOC)); $Track->set(Object::HEARTRATE, array(120, 140, 150)); $Changed = clone $Track; $Changed->set(Object::DISTANCE, array(0.15, 0.3, 0.45)); $Updater = new Updater($this->PDO, $Changed, $Track); $Updater->setAccountID(1); $Updater->update(); $Result = new Object($this->PDO->query('SELECT * FROM `' . PREFIX . 'trackdata` WHERE `activityid`=1')->fetch(PDO::FETCH_ASSOC)); $this->assertEquals(1, $Result->activityID()); $this->assertEquals(array(20, 40, 60), $Result->time()); $this->assertEquals(array(0.15, 0.3, 0.45), $Result->distance()); $this->assertEquals(array(100, 120, 130), $Result->heartRate()); }
/** * Update power for trackdata * @param array $powerData */ protected function updatePowerForTrackdata(array $powerData) { if (null !== $this->Trackdata && (empty($powerData) && $this->Trackdata->has(Model\Trackdata\Entity::POWER) || !empty($powerData) && !$this->Trackdata->has(Model\Trackdata\Entity::POWER))) { $this->Trackdata->set(Model\Trackdata\Entity::POWER, $powerData); $TrackdataUpdater = new Model\Trackdata\Updater($this->PDO); $TrackdataUpdater->setAccountID($this->AccountID); $TrackdataUpdater->update($this->Trackdata, array(Model\Trackdata\Entity::POWER)); } }
/** * Save changes for trackdata */ protected function saveChangesForTrackdata() { if (null === $this->Trackdata || $this->OldTrackdata->isEmpty()) { return; } $this->Trackdata->synchronize(); if ($this->Trackdata->isEmpty()) { $Deleter = new Model\Trackdata\Deleter($this->PDO, $this->Trackdata); $Deleter->setAccountID($this->AccountID); $Deleter->delete(); $this->Trackdata = null; } else { $Updater = new Model\Trackdata\Updater($this->PDO, $this->Trackdata, $this->OldTrackdata); $Updater->setAccountID($this->AccountID); $Updater->update(); } }