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

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

public GetDisciplinas ( System.Guid calendarioId ) : IList
calendarioId System.Guid
Результат IList
        public IList<Disciplina> GetDisciplinas(Guid calendarioId)
        {
            try
            {
            DbCommand cmdSelect = baseDados.GetSqlStringCommand(QueryMap.Default.Disciplinas);
            Disciplina disciplina = null;
            CalendariosDAO calendariodao = new CalendariosDAO();
            CategoriaDisciplinaDAO catdisDAO = new CategoriaDisciplinaDAO();

            IList<Disciplina> listaAux = new List<Disciplina>();
                using (IDataReader leitor = baseDados.ExecuteReader(cmdSelect))
                {
                    while (leitor.Read())
                    {
                        string nome = leitor.GetValue(leitor.GetOrdinal("NOME")).ToString();
                        string cod = leitor.GetValue(leitor.GetOrdinal("CODIGO")).ToString();
                        int cred = Convert.ToInt32(leitor.GetValue(leitor.GetOrdinal("CREDITOS")).ToString());
                        bool g2 = true;

                        List<CategoriaDisciplina> listCd = catdisDAO.GetCategoriaDisciplinas();
                        CategoriaDisciplina cd = null;

                        //Verifica se existe no banco uma Categoria "auxiliar" chamada 'CategoriaDisciplinaImportação'
                        //É esta que vai ser ligada às disciplinas importadas, para não haver conflito
                        //Se o banco estiver vazio por algum motivo, recria a tal categoria
                        foreach (CategoriaDisciplina cdis in listCd)
                        {
                            if (cdis.Descricao == "CategoriaDisciplinaImportação")
                            {
                                cd = cdis;
                                break;
                            }
                        }
                        if (cd == null)
                        {
                            cd = CategoriaDisciplina.NewCategoriaDisciplina("CategoriaDisciplinaImportação",
                                                                            new Dictionary<CategoriaRecurso,double>());
                            catdisDAO.InsereCategoriaDisciplina(cd);
                        }

                        disciplina = Disciplina.GetDisciplina(cod, cred, nome, g2, calendariodao.GetCalendario(calendarioId),cd);
                        listaAux.Add(disciplina);
                    }

                }
                return listaAux;
            }
            catch (Exception ex)
            {
                throw new DataAccessException("Erro ao ler dados.", ex);
            }
        }