public static function addDataset($dataset)
 {
     $query = "INSERT INTO Datasets (user_id, dataset_name, description) VALUES \r\n\t\t\t\t(:user_id, :dataset_name, :description)";
     try {
         if (is_null($dataset) || $dataset->getErrorCount() > 0) {
             return $dataset;
         }
         $db = Database::getDB();
         $statement = $db->prepare($query);
         $statement->bindValue(':user_id', $dataset->getUserId());
         $statement->bindValue(':dataset_name', $dataset->getDatasetName());
         $statement->bindValue(':description', $dataset->getDescription());
         $statement->execute();
         $statement->closeCursor();
         $newDatasetId = $db->lastInsertId('dataset_id');
         $dataset->setDatasetId($newDatasetId);
         $dateCreatedArray = DatasetsDB::getDatasetsValuesBy('dataset_id', $newDatasetId, 'date_created');
         $dataset->setDateCreated($dateCreatedArray[0]);
     } catch (Exception $e) {
         $dataset->setError('dataset_id', 'DATASET_INVALID');
     }
     return $dataset;
 }