public void consultarCurso(ActionEvent ae) {

    cursos =
        ep.searchOrderBy(
            Curso.class,
            searchParam,
            new CriteriaGroup("like", searchParam, "%" + searchValue + "%", null));
  }
 public GerenciarCurso() {
   curso = new Curso();
   cursoEscolhido = new Curso();
   ep = new EntityPersist();
   searchParam = "nome";
   searchValue = "";
   cursos = ep.searchOrderBy(Curso.class, searchParam);
 }
  public void removerCurso(ActionEvent ae) {
    FacesContext c = FacesContext.getCurrentInstance();
    try {
      List aux = ep.search(Nivel.class, new CriteriaGroup("eq", "curso", cursoEscolhido, null));
      if (aux.isEmpty()) {
        ep.delete(cursoEscolhido);
        consultarCurso(ae);
        c.addMessage(null, new FacesMessage("Curso removido com Sucesso!"));
      } else {
        c.addMessage(
            null,
            new FacesMessage(
                FacesMessage.SEVERITY_ERROR, "Erro na remoção. O curso possui niveis.", ""));
      }

    } catch (Exception ex) {

    }
  }
  public void cadastrarCurso(ActionEvent ae) throws Exception {
    try {
      FacesContext c = FacesContext.getCurrentInstance();
      if ((curso.getNome() != null) && (!curso.getNome().equals(""))) {
        c.addMessage(null, new FacesMessage("Curso cadastrado com sucesso!"));
        ep.save(curso);
        curso = new Curso();
      } else {
        c.addMessage(
            null,
            new FacesMessage(FacesMessage.SEVERITY_ERROR, "Preencha os campos obrigatórios!", ""));
      }

    } catch (Exception e) {
      throw e;
    }
  }
  public void atualizarCurso(ActionEvent ae) throws Exception {
    try {
      FacesContext c = FacesContext.getCurrentInstance();
      if ((cursoEscolhido.getNome() != null) && (!cursoEscolhido.getNome().equals(""))) {
        ep.update(cursoEscolhido);
        c.addMessage(null, new FacesMessage("Curso alterado com Sucesso!"));
        RequestContext.getCurrentInstance().execute("dlA.hide()");

      } else {
        c.addMessage(
            null,
            new FacesMessage(FacesMessage.SEVERITY_ERROR, "Preencha os campos obrigatórios!", ""));
      }
      consultarCurso(ae);

    } catch (Exception e) {
    }
  }