private function newSensor()
 {
     $sensor = null;
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         $sensor = new Sensor($_POST);
     }
     $_SESSION['sensor'] = $sensor;
     if (is_null($sensor) || $sensor->getErrorCount() != 0) {
         SensorView::showNew();
     } else {
         $newSensor = SensorsDB::addSensor($sensor);
         if ($newSensor->getErrorCount() == 0) {
             $_SESSION['sensor'] = $newSensor;
         }
         DatasetView::show();
         header('Location: /' . $_SESSION['base'] . '/dataset/show/' . $newSensor->getDatasetId());
     }
 }
 private function updateDataset()
 {
     $dataset = $_SESSION['dataset'];
     if (empty($dataset)) {
         HomeView::show();
         header('Location: /' . $_SESSION['base']);
     } elseif ($_SERVER['REQUEST_METHOD'] == 'GET') {
         DatasetView::showUpdate();
     } else {
         $params = $dataset->getParameters();
         $params['dataset_name'] = array_key_exists('dataset_name', $_POST) ? $_POST['dataset_name'] : '';
         $params['description'] = array_key_exists('description', $_POST) ? $_POST['description'] : '';
         $updatedDataset = new Dataset($params);
         $updatedDataset->setDatasetId($dataset->getDatasetId());
         $returnedDataset = DatasetsDB::updateDataset($updatedDataset);
         if ($returnedDataset->getErrorCount() == 0) {
             // Show the Dataset view which should display the updated params
             DatasetView::show();
             header('Location: /' . $_SESSION['base'] . '/dataset/show/' . $dataset->getDatasetId());
         } else {
             // Carry over the sensors, if any
             $updatedDataset->setSensors($dataset->getSensors());
             $_SESSION['dataset'] = $updatedDataset;
             DatasetView::showUpdate();
         }
     }
 }