public function toArray($deep = true)
 {
     $array = get_object_vars($this);
     $array['consulta'] = $this->consulta->toArray();
     $array['subgrupoConsultado'] = $this->subgrupoConsultado->toArray();
     return $array;
 }
 /**
  * Crea la decision final para la posta del subgrupo o la consulta asociada a la posta segun el contenido de $decisionFinal. Retorna idSubgrupo si todo salio bien, -1 caso contrario.
  * @Soap\Method("tomarDecision")
  * @Soap\Param("idSubgrupo", phpType = "int")
  * @Soap\Param("cumple", phpType = "int")
  * @Soap\Param("justificacion", phpType = "string")
  * @Soap\Param("decisionFinal", phpType = "int")
  * @Soap\Result(phpType = "JuegoPostas\AppBundle\EntityWS\IntegerWS")
  */
 public function tomarDecision($idSubgrupo, $cumple, $justificacion, $decisionFinal)
 {
     $subgrupoRepo = $this->getSubgrupoRepo();
     $consultaRepo = $this->getConsultaRepo();
     $subgrupo = $subgrupoRepo->find($idSubgrupo);
     $resultado = -1;
     if ($subgrupo) {
         $posta = $this->getPostaRepo()->getPostaDeSubgrupo($subgrupo);
         if ($posta) {
             $esDecisionFinal = $decisionFinal == 1;
             $cumpleConsigna = $cumple == 1;
             $decision = new Decision();
             $decision->setJustificacion($justificacion);
             $decision->setCumpleConsigna($cumpleConsigna);
             $em = $this->getReposManager()->getEntityManager();
             $em->persist($decision);
             if ($esDecisionFinal) {
                 if (!$posta->getDecisionFinal()) {
                     //Si no se seteo la decision final previamente.
                     $posta->setDecisionFinal($decision);
                     $em->flush();
                 }
             } else {
                 //No dejo crear dos consultas para la misma posta en la base de datos.
                 if (!$consultaRepo->findBy(array('posta' => $posta))) {
                     $consulta = new Consulta();
                     $consulta->setPosta($posta);
                     $consulta->setDecisionParcial($decision);
                     $em->persist($consulta);
                     $em->flush();
                 }
             }
             $resultado = $idSubgrupo;
         }
     }
     return new IntegerWS($resultado);
 }