Example #1
0
 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());
 }
Example #2
0
 /**
  * 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));
     }
 }
Example #3
0
 /**
  * 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();
     }
 }