public function import(array &$array, $name, $created) { $ds = DIRECTORY_SEPARATOR; foreach ($array['data'] as $item) { $description = file_get_contents($this->getRootPath() . $ds . $item['activity']['description']); $activity = new Activity(); $activity->setTitle($item['activity']['title']); $primaryResource = !empty($item['activity']['primary_resource']) && isset($created[$item['activity']['primary_resource']]) && $created[$item['activity']['primary_resource']] ? $created[$item['activity']['primary_resource']]->getResourceNode() : null; $activity->setPrimaryResource($primaryResource); $activity->setDescription($description); $parameters = new ActivityParameters(); $parameters->setMaxDuration($item['activity']['max_duration']); $parameters->setWho($item['activity']['who']); $parameters->setWhere($item['activity']['where']); $parameters->setEvaluationType($item['activity']['evaluation_type']); foreach ($item['activity']['secondary_resources'] as $secondaryResource) { //in a perfect world, this shouldn't happend if ($created[$secondaryResource['uid']]) { $parameters->addSecondaryResource($created[$secondaryResource['uid']]->getResourceNode()); } } $activity->setParameters($parameters); $this->om->persist($activity); $this->om->persist($parameters); return $activity; } }
public function updateParameters(Step $step, \stdClass $stepStructure) { $parameters = $step->getParameters(); if (empty($parameters)) { $parameters = new ActivityParameters(); } // Update parameters properties $duration = !empty($stepStructure->duration) ? $stepStructure->duration : null; $parameters->setMaxDuration($duration); $withTutor = !empty($stepStructure->withTutor) ? $stepStructure->withTutor : false; $parameters->setWithTutor($withTutor); $who = !empty($stepStructure->who) ? $stepStructure->who : null; $parameters->setWho($who); $where = !empty($stepStructure->where) ? $stepStructure->where : null; $parameters->setWhere($where); $evaluationType = !empty($stepStructure->evaluationType) ? $stepStructure->evaluationType : null; $parameters->setEvaluationType($evaluationType); // Set resources $this->updateSecondaryResources($parameters, $stepStructure); // Persist parameters to generate ID $this->om->persist($parameters); // Store parameters in Step $step->setParameters($parameters); return $this; }
public function updateParameters(ActivityParameters $params, $maxDuration, $maxAttempts, $evaluationType) { $params->setMaxDuration($maxDuration); $params->setMaxAttempts($maxAttempts); $params->setEvaluationType($evaluationType); $this->om->persist($params); $this->om->flush(); }