private static void Ler_alunos_do_ano_anterior() { //prim_input = String.Empty; //while(!File.Exists(prim_input)) // prim_input = Aceitar_nome_do_ficheiro("Primeiro input: "); prim_input = "2019_2020.csv"; lst_aaa = Ler_ficheiro(prim_input); Console.WriteLine("Nº de alunos do ano anterior: " + lst_aaa.lista.Count.ToString()); }
private static void Processar_CSV(HashSet <int> p_alunos, Lst_Alunos p_lista, string p_texto, string p_estado) { // declaração da lista de linhas para o CSV // declaração da linha para o CSV // para cada um no conjunto alunos_novos // procurar na lista de alunos do ano // se encontra // criar linha com os dados // primeiro nome // apelido // construir endereço de email // atribuir senha // atribuir unidade // estado da conta // juntar a linha à lista // gravar o CSV List <List <string> > lst_csv = new List <List <string> >(); List <string> lst_reg; foreach (int processo in p_alunos) { foreach (Aluno registo in p_lista.lista) { if (processo == registo.processo) { lst_reg = new List <string>(); lst_reg.Add(registo.primeiro_nome); lst_reg.Add(registo.apelido); lst_reg.Add("a" + registo.processo.ToString() + "@alpoente.org"); lst_reg.Add(registo.senha); lst_reg.Add(consts.UNIDADE_ORGANICA_ALUNOS); lst_reg.Add(p_estado); lst_reg.Add(registo.escola); lst_reg.Add(registo.ano); lst_reg.Add(registo.turma); lst_csv.Add(lst_reg); } } } Gravar_ficheiro(Aceitar_nome_do_ficheiro(p_texto), lst_csv, consts.PRIMEIRA_LINHA_CSV); }
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); }