public function cambiarInstancia(Tramite $tramite)
 {
     $repoInstancia = new InstanciaRepository();
     $repoTramiteInstancia = new TramiteInstanciaRepository();
     $repoTramiteInstanciaTarea = new TramiteInstanciaTareaRepository();
     $repoTarea = new RelTipoTramiteinstanciaTareaRepository();
     //siguiente instancia del tramite
     $nuevainstancia = $repoInstancia->getSiguienteInstancia($tramite->getIdTipoTramite(), $tramite->getidInstanciaActual());
     //var_dump($nuevainstancia);die;
     //asocio la nueva instancia con el tramite
     $tramiteInstancia = new TramiteInstancia();
     $tramiteInstancia->setIdTramite($tramite->getidTramite());
     $tramiteInstancia->setIdInstancia($nuevainstancia->getIdInstancia());
     $tramiteInstancia->setIdTramiteInstancia($repoTramiteInstancia->insert($tramiteInstancia));
     //tareas propias de la nueva instancia
     $tareasPropias = $repoTarea->getTareasPropias($tramite->getIdTipoTramite(), $nuevainstancia->getIdInstancia());
     //var_dump($tareasPropias);die;
     //agrego las tareas al tramite
     foreach ($tareasPropias as $tarea) {
         $tit = new TramiteInstanciaTarea();
         $tit->setIdTramiteInstancia($tramiteInstancia->getIdTramiteInstancia());
         $tit->setIdTarea($tarea->getIdTarea());
         $tit->setOrden($tarea->getOrden());
         $tit->setIdEstado(Estado::$TareaAbierta);
         //var_dump($tit);die;
         $repoTramiteInstanciaTarea->insert($tit);
     }
     //cambio la instancia actual del tramite
     $tramite->setIdInstanciaActual($nuevainstancia->getIdInstancia());
     $this->update($tramite);
     return $tramite;
 }
 public function finalizarPendientes(Tramite $tramite)
 {
     $sql = "select tit.* \n\t\t\t\tfrom tramiteinstanciatarea tit \n\t\t\t\t\tjoin tramiteinstancia ti on tit.idTramiteInstancia = ti.idTramiteInstancia\n\t\t\t\twhere tit.idEstado != :idEstadoFinal \n\t\t\t\t\tand ti.idTramite = :idTramite \n\t\t\t\t\tand ti.idInstancia = :idInstancia";
     $params = array("idEstadoFinal" => Estado::$TareaFinalizada, "idTramite" => $tramite->getIdTramite(), "idInstancia" => $tramite->getIdInstanciaActual());
     $tareasPendientes = DB::fetchAllClass($sql, $this->nombreClase, $params);
     foreach ($tareasPendientes as $tarea) {
         $tarea->setIdEstado(Estado::$TareaFinalizada);
         $this->update($tarea);
     }
 }
        $p->setCud($_POST["cud"]);
        $p->setOcupacion($_POST["ocup"]);
        $p->setObraSocial($_POST["osoc"]);
        $p->setDomicilioCaba($_POST["domcaba"]);
        $p->setHospital($_POST["hosp"]);
        $p->setDomicilioHospital($_POST["dirH"]);
        if (isset($_POST["provH"]) && $_POST["provH"] != "") {
            $p->setIdProvinciaHospital($_POST["provH"]);
        }
        if (isset($_POST["locH"]) && $_POST["locH"] != "") {
            $p->setIdLocalidadHospital($_POST["locH"]);
        }
        $p->setCodPosHospital($_POST["codpostH"]);
        $p->setTelCodAreaHospital($_POST["telareaH"]);
        $p->setTelefonoHospital($_POST["telnroH"]);
        $p->setIdPersona($repoPersona->insert($p));
        //echo "Ingresada persona id: ".$p->getIdPersona()."<br>"; die;
        $t = new Tramite();
        $t->setNumero("TR-001");
        $t->setIdEstado(Estado::$TramiteAbierto);
        $t->setIdPersona($p->getIdPersona());
        $t->setFechaInicio(new DateTime());
        $t->setIdTipoTramite(1);
        $t->setIdTramite($repoTramite->insert($t));
        echo "<strong> Se ha generado el tramite: " . $t->getIdTramite() . "</strong> <br>";
        $repoTramite->cambiarInstancia($t);
        //Controller::redirect("misTareas");
    } else {
        echo "<strong> Ya existe una Franquicia Automotor para el documento ingresado. </strong> <br>";
    }
}
    Controller::redirect("login");
}
if ($user['id'] != 1) {
    Controller::render("error.php", array("errorMessage" => "No tiene permisos para ver esto."));
} else {
    Controller::render("solfainst.php");
}
if ($_POST && count($_POST) > 0) {
    if ($_POST["duplicado"] == "") {
        $p = new Institucion();
        //var_dump(method_exists($p,'getDenominacionSocial'));die;
        $p->setDenominacionSocial($_POST["densoc"]);
        $p->setCuit($_POST["cuit"]);
        $repoInstitucion = new InstitucionRepository();
        $p->setIdInstitucion($repoInstitucion->insert($p));
        //echo "Ingresada persona id: ".$p->getIdPersona()."<br>"; die;
        $t = new Tramite();
        $t->setNumero("TR-002");
        $t->setIdEstado(Estado::$TramiteAbierto);
        $t->setIdInstitucion($p->getIdInstitucion());
        $t->setFechaInicio(new DateTime());
        $t->setIdTipoTramite(2);
        $repo = new TramiteRepository();
        $t->setIdTramite($repo->insert($t));
        echo "<strong> Se ha generado el tramite: " . $t->getIdTramite() . "</strong> <br>";
        $repo->cambiarInstancia($t);
        //Controller::redirect("misTareas");
    } else {
        echo "<strong> Ya existe Una Franquicia Automotor para el cuit ingresado. </strong> <br>";
    }
}