/*
   * Contem todo so campos pertinentes. Assumo aqui que a chave primaria para
   * a entidade Turma eh a conjuncao de 'ano', 'semestre' e 'cpfProfessor'
   */
  public void cadastraTurma(
      String ano,
      String semestre,
      String cpfProfessor,
      String horario,
      String nivel,
      ArrayList<String> matriculasAlunos)
      throws Exception {

    Turma turma = new Turma(validaAno(ano), validaSemestre(semestre), horario, nivel, cpfProfessor);

    Professor p = fachada.recuperaProfessor(new Professor(cpfProfessor));
    Nivel n = fachada.recuperaNivel(new Nivel(nivel));

    if (p == null) {
      throw new Exception("Professor Invalido!");
    }

    if (n == null) {
      throw new Exception("Nivel Invalido!");
    }

    for (String aluno : matriculasAlunos) {
      turma.alunos.add(aluno);
    }

    fachada.cadastraTurma(turma);
  }
  public ArrayList<ConsultaTurmaRow> getTodasTurmas() {
    ArrayList<ConsultaTurmaRow> turmas = new ArrayList<ConsultaTurmaRow>();
    ArrayList<Turma> array_turmas = fachada.listarTurmas();

    for (Turma turma : array_turmas) {
      ArrayList<CadastraTurmaRow> array_alunos = new ArrayList<CadastraTurmaRow>();
      for (String a : turma.alunos) {
        array_alunos.add(new CadastraTurmaRow(fachada.recuperaAluno(new Aluno(a))));
      }
      Professor p = fachada.recuperaProfessor(new Professor(turma.professor));
      String cpf_nome = p.CPF + " " + p.nome;
      turma.professor = cpf_nome;

      turmas.add(new ConsultaTurmaRow(turma, array_alunos));
    }

    return turmas;
  }