src/Cpm/JovenesBundle/Controller/UsuarioController.php
/**
     * Combina los datos del $usuarioFinal con todos los $usuarios
     */
Combina los datos del $usuarioFinal con todos los $usuarios
Combina los datos del $usuarioFinal con todos los $usuarios
private function unirUsuarios($usuarioFinal, $usuarios) {
     	$em = $this->getEntityManager();
    	$cnn = $this->getDoctrine()->getConnection();
    	$query_coordinadores = $em->createQuery('UPDATE CpmJovenesBundle:Proyecto p ' .
    											'SET p.coordinador = :nuevo_coordinador ' .
    											'WHERE p.coordinador = :viejo_coordinador');
    	$query_correos = $em->createQuery( 'UPDATE CpmJovenesBundle:Correo c ' .
    										'SET c.destinatario = :nuevo_usuario ' .
    										'WHERE c.destinatario = :viejo_usuario ');
		$cnn->beginTransaction();
		try { 
	    	foreach ( $usuarios as $usuario) {
	    		if ($usuario->getId() == $usuarioFinal->getId())
	    			continue;
	    		$cnn->prepare(" UPDATE Proyecto SET coordinador_id = {$usuarioFinal->getId()} WHERE coordinador_id = {$usuario->getId()}")->execute();	
	    		$cnn->prepare(" UPDATE ColaboradorProyecto SET usuario_id = {$usuarioFinal->getId()} WHERE usuario_id = {$usuario->getId()}")->execute();			
		    	$query_correos->setParameter('nuevo_usuario',$usuarioFinal)->setParameter('viejo_usuario',$usuario)->execute();
				$this->getUserManager()->deleteUser($usuario);
	    	}
	    	$this->getUserManager()->updateUser($usuarioFinal);	
			$cnn->commit();
			$em->flush();
		} catch (\Exception $e) {
			if ($cnn->isTransactionActive())
	    	   	$cnn->rollback();
			$em->close();
			throw $e;
		}
	 }
private function unirUsuarios ( $ usuarioFinal , $ usuarios ) { $ em = $ this -> getEntityManager ( ) ; $ cnn = $ this -> getDoctrine ( ) -> getConnection ( ) ; $ query_coordinadores = $ em -> createQuery ( 'UPDATE CpmJovenesBundle:Proyecto p ' . 'SET p.coordinador = :nuevo_coordinador ' . 'WHERE p.coordinador = :viejo_coordinador' ) ; $ query_correos = $ em -> createQuery ( 'UPDATE CpmJovenesBundle:Correo c ' . 'SET c.destinatario = :nuevo_usuario ' . 'WHERE c.destinatario = :viejo_usuario ' ) ; $ cnn -> beginTransaction ( ) ; try { foreach ( $ usuarios as $ usuario ) { if ( $ usuario -> getId ( ) == $ usuarioFinal -> getId ( ) ) continue ; $ cnn -> prepare ( "  UPDATE Proyecto SET coordinador_id =  { $ usuarioFinal -> getId ( ) }  WHERE coordinador_id =  { $ usuario -> getId ( ) } " ) -> execute ( ) ; $ cnn -> prepare ( "  UPDATE ColaboradorProyecto SET usuario_id =  { $ usuarioFinal -> getId ( ) }  WHERE usuario_id =  { $ usuario -> getId ( ) } " ) -> execute ( ) ; $ query_correos -> setParameter ( 'nuevo_usuario' , $ usuarioFinal ) -> setParameter ( 'viejo_usuario' , $ usuario ) -> execute ( ) ; $ this -> getUserManager ( ) -> deleteUser ( $ usuario ) ; } $ this -> getUserManager ( ) -> updateUser ( $ usuarioFinal ) ; $ cnn -> commit ( ) ; $ em -> flush ( ) ; } catch ( \ Exception $ e ) { if ( $ cnn -> isTransactionActive ( ) ) $ cnn -> rollback ( ) ; $ em -> close ( ) ; throw $ e ; } }
Combina los datos del $usuarioFinal con todos los $usuarios
Combina los datos del $usuarioFinal con todos los $usuarios
//$em->flush(); //$em->flush(); //$em->flush(); //$em->flush();