// Implementação para o primeiro ciclo. Deve ser melhorado no segundo. public void CarregarArquivoFuncoes() { string Linha = ""; string[] LinhaQuebrada; try { // carrega o arquivo StreamReader objReader = new StreamReader("T2TiERP_Forms.TXT", Encoding.Default); // carrega os dados do arquivo while ((Linha = objReader.ReadLine()) != null) { LinhaQuebrada = Linha.Trim().Split('|'); ViewControleAcessoDTO ControleAcesso = new ViewControleAcessoDTO(); ControleAcesso.Id = int.Parse(LinhaQuebrada[0]); ControleAcesso.IdPapel = int.Parse(LinhaQuebrada[1]); ControleAcesso.IdFuncao = int.Parse(LinhaQuebrada[2]); ControleAcesso.Habilitado = LinhaQuebrada[3]; ControleAcesso.Nome = LinhaQuebrada[4]; ControleAcesso.Formulario = LinhaQuebrada[5]; ListaControleAcesso.Add(ControleAcesso); } objReader.Close(); // busca informações já gravadas para o papel e suas funções for (int i = 0; i < ListaControleAcesso.Count; i++) { using (ServicoAdministrativoClient serv = new ServicoAdministrativoClient()) { ViewControleAcessoDTO ControleAcesso = serv.selectControleAcessoId(ListaControleAcesso[i].Id); ListaControleAcesso[i].CheckHabilitado = ControleAcesso.Habilitado == "S" ? true : false; } } notifyPropertyChanged("ListaControleAcesso"); } catch (Exception eError) { MessageBox.Show("Ocorreu um erro: " + eError.Message); } }