public String GerarLinhaSecao(Secao s, int nivel) { String Separador = ";"; Zona z = s.LocalVotacao.Zona; LocalVotacao lv = s.LocalVotacao; String linha = z.Numero.ToString() + Separador + s.Numero.ToString() + Separador + lv.Nome + Separador + lv.Numero.ToString() + Separador; //Quantidade de Eleitores Aptos Após a Agregação. linha += Nivel(s, 0, nivel, Separador); linha += Nivel(s, 1, nivel, Separador); linha += Nivel(s, 2, nivel, Separador); //Quantidade de eleitores Aptos antes da agregação. //linha += s.QuantidadeAptos + Separador; if (s.SecaoAgregadora == null) { linha += "-"; } else { linha += s.SecaoAgregadora.Numero; } linha += Separador; if (s.SecaoAgregadora == null) { if (s.Agregadas.Count == 0) { linha += "-"; } else { linha += s.Numero; } } else { linha += s.SecaoAgregadora.Numero; } linha += Separador; linha += (s.TipoAgregacao == 1 ? "Definitiva" : s.TipoAgregacao == 2 ? "Provisoria" : "-") + Separador; linha += s.TTE ? "TTE" : "-"; return(linha); }
public List <Zona> CarregarArquivo(String caminhoArquivo) { List <Zona> Zonas = new List <Zona>(); var linhas = File.ReadAllLines(caminhoArquivo); foreach (var linha in linhas) { var termos = linha.Split(';'); Secao s = new Secao(); Zona z = null; LocalVotacao lv = null; int numSecao = int.Parse(termos[1]); int numZona = int.Parse(termos[0]); String nomeLocal = termos[3]; int numLocal = int.Parse(termos[2]); int qtdAptos = int.Parse(termos[4]); s.Numero = numSecao; s.QuantidadeAptos = qtdAptos; if ((z = Zonas.Where(zx => zx.Numero == numZona).FirstOrDefault()) == null) { z = new Zona() { Numero = numZona }; Zonas.Add(z); } s.Zona = z; if ((lv = z.Locais.Where(lx => lx.Numero == numLocal && lx.Nome == nomeLocal).FirstOrDefault()) == null) { lv = new LocalVotacao() { Numero = numLocal, Nome = nomeLocal }; z.Locais.Add(lv); lv.Zona = z; } lv.Secoes.Add(s); s.LocalVotacao = lv; } return(Zonas); }