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); }