public function update(Usuario $usuario)
 {
     DB::update($this->nombreTabla, $this->nombreId, $usuario->getIdUsuario(), array("usuario" => $usuario->getUsuario(), "password" => $usuario->getPassword(), "telefono" => $usuario->getTelefono(), "email" => $usuario->getEmail(), "idDireccion" => $usuario->getIdDireccion(), "activo" => $usuario->getActivo()));
     return true;
 }
<?php

use Stel\Repository\TramiteRepository;
use Stel\Repository\TramiteInstanciaTareaRepository;
use Stel\Repository\PersonaRepository;
use Stel\Repository\InstitucionRepository;
use Stel\Model\Usuario;
use Stel\Model\Tramite;
$user = Usuario::getSessionUser();
if (!$user) {
    Controller::redirect("login");
}
if (!isset($_GET["idTramite"])) {
    Controller::render("error.php", array("errorMessage" => "No se encuentra el tramite solicitado."));
    die;
}
$idTramite = $_GET["idTramite"];
$repo = new TramiteRepository();
$repoTarea = new TramiteInstanciaTareaRepository();
$repoPersona = new PersonaRepository();
$repoInstitucion = new InstitucionRepository();
$tramite = $repo->getOne($idTramite);
if ($tramite->getIdPersona()) {
    $persona = $repoPersona->getOne($tramite->getIdPersona());
} else {
    $institucion = $repoInstitucion->getOne($tramite->getIdInstitucion());
}
$tareas = $repoTarea->getForSintesisGlobal($idTramite);
if (isset($persona)) {
    Controller::render("sintesisGlobal.php", array("tramite" => $tramite, "tareas" => $tareas, "persona" => $persona));
} else {
     $usuario->setUsuario($data->usuario);
     $usuario->setPassword(Usuario::encode($data->password));
     $usuario->setTelefono($data->telefono);
     $usuario->setEmail($data->email);
     $usuario->setActivo($data->activo);
     $usuario->setIdDireccion($data->idDireccion);
     $usuario->setIdUsuario($repo->insert($usuario));
     //antes de devolver el usuario vacio la password
     $usuario->setPassword(null);
     Controller::renderJson("OK", $usuario);
     break;
 case "edit":
     $usuario = $repo->getOne($data->idUsuario);
     //si no se especifica un password no se pisa el viejo
     if ($data->password && $data->password != "") {
         $usuario->setPassword(Usuario::encode($data->password));
     }
     $usuario->setTelefono($data->telefono);
     $usuario->setEmail($data->email);
     $usuario->setActivo($data->activo);
     $usuario->setIdDireccion($data->idDireccion);
     $repo->update($usuario);
     //antes de devolver el usuario vacio la password
     $usuario->setPassword(null);
     Controller::renderJson("OK", $usuario);
     break;
 case "delete":
     Controller::renderJson("ERROR", "", "No implementado");
     break;
 case "activate":
     $usuario = $repo->getOne($_GET['id']);