BusinessData.DataAccess.SPA.SPADAO.GetTurmas C# (CSharp) Метод

GetTurmas() публичный Метод

Retorna todas as turmas cadastradas no SPA
public GetTurmas ( System.Guid calendarioId ) : IList
calendarioId System.Guid
Результат IList
        public IList<Turma> GetTurmas(Guid calendarioId)
        {
            DbCommand cmdSelect = baseDados.GetSqlStringCommand(QueryMap.Default.Turmas);
            Entities.Turma turma = null;
            try
            {
                IList<Entities.Turma> listaAux = new List<Entities.Turma>();
                using (IDataReader leitor = baseDados.ExecuteReader(cmdSelect))
                {
                    CalendariosDAO caDAO = new CalendariosDAO();
                    DisciplinasDAO disciDAO = new DisciplinasDAO();
                    ProfessorDAO profDAO = new ProfessorDAO();
                    CursosDAO curDAO = new CursosDAO();

                    //Calendario - pega o corrente, neste caso, foi passado por parâmetro,
                    //no futuro, será variável de sessão.
                    Calendario cal = caDAO.GetCalendario(calendarioId);

                    while (leitor.Read())
                    {
                        Curso cur = null;
                        Disciplina discip = null;
                        Professor prof = null;

                        string numero = leitor.GetString(leitor.GetOrdinal("TURMA"));
                        int num = Convert.ToInt32(numero.Substring(0, 3));
                        string datahora = leitor.GetValue(leitor.GetOrdinal("HORARIO")).ToString();
                        datahora = datahora.Replace("EF", "EX");
                        string codigoCurso;
                        string disciplinaCodigo;
                        string matriculaProfessor;

                        //Disciplina - Turmas.CODIGO
                        try
                        {
                            disciplinaCodigo = leitor.GetValue(leitor.GetOrdinal("CODIGO")).ToString();

                            discip = disciDAO.GetDisciplina(disciplinaCodigo, calendarioId);
                        }
                        catch (Exception )
                        {
                            CriaLOG(leitor);
                            continue;
                        }

                        //Matricula do professor - Turmas.PROFESSOR
                        try
                        {
                            matriculaProfessor = leitor.GetValue(leitor.GetOrdinal("PROFESSOR1")).ToString();

                            prof = profDAO.GetProfessorByMatricula(matriculaProfessor);
                        }
                        catch (Exception )
                        {
                            CriaLOG(leitor);
                            continue;
                        }

                        //Código do curso - Turmas.CURSO
                        try
                        {
                            codigoCurso = leitor.GetValue(leitor.GetOrdinal("CURSO")).ToString();

                            cur = curDAO.GetCurso(codigoCurso);
                        }

                        catch (Exception )
                        {
                            CriaLOG(leitor);
                            continue;
                        }

                        turma = Entities.Turma.NewTurma(num, cal, discip, datahora, prof, cur);
                        listaAux.Add(turma);
                    }
                }
                return listaAux;
            }
            catch (Exception ex)
            {
                throw new DataAccessException("Erro ao ler dados.", ex);
            }
        }