function createAndSaveScenario(EiProjet $ei_project, EiNode $root_node) { //On crée le noeud du scénario avant de créer le scénario en soit $ei_node = new EiNode(); $ei_scenario = new EiScenario(); $ei_node->setIsRoot(false); $ei_node->setProjectId($ei_project->getProjectId()); $ei_node->setProjectRef($ei_project->getRefId()); $ei_node->setName('testNomScenario'); $ei_node->setPosition(Doctrine_Core::getTable('EiNode')->getLastPositionInNode($ei_project->getProjectId(), $ei_project->getRefId(), $root_node->getId())); $ei_node->setType('EiScenario'); $ei_node->setRootId($root_node->getId()); $ei_scenario->project_id = $ei_project->getProjectId(); $ei_scenario->project_ref = $ei_project->getRefId(); $ei_scenario->setNomScenario('testNomScenario'); $ei_scenario->setEiNode($ei_node); $ei_scenario->save(); $ei_node->setObjId($ei_scenario->getId()); $ei_node->save(); return $ei_scenario; }
/** * Copie le noeud du scenario. * @param EiScenario $copie * @param type $conn * @throws Exception */ private function createNodeCopie(EiScenario $copie, $conn) { try { $root_folder = $this->getNode(); $ei_node = new EiNode(); $ei_node->setProjectId($this->getProjectId()); $ei_node->setProjectRef($this->getProjectRef()); $ei_node->setName($copie->getNomScenario()); $ei_node->setPosition(Doctrine_Core::getTable('EiNode')->getLastPositionInNode($this->getProjectId(), $this->getProjectRef(), $root_folder->getRootId())); $ei_node->setIsRoot(false); $ei_node->setIsShortcut(false); $ei_node->setRootId($root_folder->getRootId()); $ei_node->setType("EiScenario"); $copie->setEiNode($ei_node); $copie->save($conn, true); //$copie->createDefaultEiDataSetFolder($conn); $ei_node->setObjId($copie->getId()); $copie->save($conn, true); } catch (Exception $e) { throw $e; } }