Пример #1
0
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;
}
Пример #2
0
 public function createCopie($new_name, $conn = null)
 {
     //Récupération de la variable de connexion pour éffectuer les transactions
     if ($conn == null) {
         $conn = Doctrine_Manager::connection();
     }
     //Récupération du noeud associé au scénario
     try {
         $conn->beginTransaction();
         $copie = new EiScenario();
         $copie->setProjectId($this->getProjectId());
         $copie->setProjectRef($this->getProjectRef());
         $copie->setNomScenario($new_name);
         $copie->setNbJoue(0);
         $copie->setDescription($this->getDescription());
         $this->createNodeCopie($copie, $conn);
         $this->createEiVersionsCopies($copie, $conn);
         $this->createProfilScenarioForClone($copie, $conn);
         $conn->commit();
         //return $copie;
     } catch (Exception $e) {
         $conn->rollback();
         throw $e;
     }
     return $copie;
 }