Exemplo n.º 1
0
        private static Lst_Alunos Ler_ficheiro(string p_nome_do_csv)
        {
            /*
             * Utiliza um StreamReader
             * guardar o enconding do ficheiro aberto para a gravação
             * para cada registo do CSV
             *  se não é a linha de cabeçalhos
             *      preenche matriz de dados
             *      se não é cabeçalho
             *          processa novo aluno
             *              ano letivo
             *              nº de processo
             *              nome completo
             *              email
             *              senha
             *              unidade organica
             *              escola
             *              ano escolar
             *              turma
             *          adiciona à lista
             *      se a lista tem registos
             *          constroi conjunto
             *      senão
             *          avisa que está vazia
             * devolve a lista construída (vazia ou não)
             */

            Lst_Alunos lista = new Lst_Alunos();
            Int16      res   = 0;

            using (StreamReader parser = new StreamReader(p_nome_do_csv))
            {
                encoding_dos_fich_lidos = parser.CurrentEncoding;
                while (!parser.EndOfStream)
                {
                    string[] dados = parser.ReadLine().ToString().Split(';');
                    if (Int16.TryParse(dados[0], out res))
                    {
                        Aluno aluno = new Aluno(
                            res,                            // ano letivo
                            Int16.Parse(dados[1]),          // nº de processo
                            dados[2].ToString(),            // nome completo
                            String.Empty,                   // email
                            String.Empty,                   // senha
                            consts.UNIDADE_ORGANICA_ALUNOS, // unidade organica
                            dados[3].ToString(),            // escola
                            dados[4].ToString(),            // ano escolar
                            dados[5].ToString()             // turma
                            );

                        lista.lista.Add(aluno);
                    }
                }
                if (lista.lista != null)
                {
                    if (lista.lista.Count > 0)
                    {
                        lista.Constroi_conjunto();
                    }
                }
                else
                {
                    Console.WriteLine("Não li nada");
                }
            }
            return(lista);
        }