@RequestMapping(value = "/darUsuario/{email}")
  public ResponseEntity<String> darUsuario(@PathVariable String email) {
    EntityManager em = PersistenceManager.INSTANCE.getEntityManager();
    em.getTransaction().begin();

    try {
      Usuario usr =
          (Usuario)
              em.createNamedQuery("Usuario.findByEmail")
                  .setParameter("email", email)
                  .getSingleResult();

      String resp =
          usr.getNombre()
              + ":"
              + usr.getApellido()
              + ":"
              + usr.getIdusuario()
              + ":"
              + usr.getEmail();
      return new ResponseEntity<String>(resp, HttpStatus.OK);
    } catch (NoResultException e) {
      return new ResponseEntity<String>("No encontrado", HttpStatus.OK);
    }
  }
  @RequestMapping(
      value = "/desactivar/{id}",
      method = RequestMethod.GET,
      produces = MediaType.APPLICATION_JSON_VALUE)
  public ResponseEntity<Void> desactivar(@PathVariable int id) {

    EntityManager em = PersistenceManager.INSTANCE.getEntityManager();
    em.getTransaction().begin();

    Usuario usuario = em.find(Usuario.class, id);

    if (usuario == null) {
      return new ResponseEntity<Void>(HttpStatus.NOT_FOUND);
    }

    usuario.setActivo(false);

    em.persist(usuario);
    em.getTransaction().commit();

    return new ResponseEntity<Void>(HttpStatus.OK);
  }
  @RequestMapping(
      value = "/",
      method = RequestMethod.POST,
      produces = MediaType.APPLICATION_JSON_VALUE)
  public ResponseEntity<Usuario> getAlojamientoByFilter(@RequestBody UsuarioVO usuarioVO) {

    EntityManager em = PersistenceManager.INSTANCE.getEntityManager();
    em.getTransaction().begin();

    try {
      em.createNamedQuery("Usuario.findByEmail")
          .setParameter("email", usuarioVO.getEmail())
          .getSingleResult();
    } catch (NoResultException e) {
      Usuario usuario = new Usuario();
      usuario.setNombre(usuarioVO.getNombre());
      usuario.setApellido(usuarioVO.getApellido());
      usuario.setEmail(usuarioVO.getEmail());
      usuario.setPassword(usuarioVO.getPassword());
      usuario.setDireccion(usuarioVO.getDireccion());
      usuario.setTelefono(usuarioVO.getTelefono());
      usuario.setFechaCreacion(new Date());
      usuario.setLogin("1");
      usuario.setActivo(usuarioVO.isActivo());
      Perfiles perfiles = new Perfiles();
      perfiles.setIdperfil(usuarioVO.getPerfil().getIdperfil());
      usuario.setPerfil(perfiles);
      em.persist(usuario);
      em.flush();
      em.getTransaction().commit();
      return new ResponseEntity<Usuario>(usuario, HttpStatus.OK);
    }

    return new ResponseEntity<Usuario>(new Usuario(), HttpStatus.OK);
  }