Example #1
0
        public bool LerEntrada(string caminho)
        {
            sbErros = new StringBuilder();
            string[] linhasArquivo;

            try
            {
                linhasArquivo = File.ReadAllLines(caminho);
            }
            catch (Exception e)
            {
                string erroArquivo = string.Format(string.Format("[{0}]  Não foi possível ler o arquivo {1} — {2}", DateTime.Now.ToString(), caminho, e.Message));
                sbErros.AppendLine(erroArquivo);
                return(false);
            }

            ServicoLinha servicoLinha = new ServicoLinha();

            for (int i = 0; i < linhasArquivo.Length; i++)
            {
                Linha linha = new Linha(linhasArquivo[i]);

                try
                {
                    QuatroPartes retornoAnalise = servicoLinha.criarAnalisador(linha).Analisar();

                    switch (linha.tipo)
                    {
                    case "001":
                        this.vendedores.Add(new Vendedor(retornoAnalise));
                        break;

                    case "002":
                        this.clientes.Add(new Cliente(retornoAnalise));
                        break;

                    case "003":
                        this.vendas.Add(new Venda(retornoAnalise));
                        break;
                    }
                }
                catch (Exception e)
                {
                    string erroLinha = string.Format(string.Format("[{0}]  Não foi possível ler a linha {1} do arquivo {2} — {3}", DateTime.Now.ToString(), (i + 1).ToString(), caminho, e.Message));
                    sbErros.AppendLine(erroLinha);
                }
            }

            if (sbErros.Length > 0)
            {
                Console.WriteLine("Erros durante a execução:");
                Console.Write(sbErros.ToString());
            }

            return(true);
        }
Example #2
0
        public void TesteNomeComplexo()
        {
            Linha linha = new Linha("003ç08ç[1-34-10,2-33-1.50,3-40-0.10]çPaulo Moçaço"); // Moçaço : [Botânica] Árvore da África, de folhas simples e flores hermafroditas.

            Prova.Servicos.ServicoLinha sl = new Prova.Servicos.ServicoLinha();
            QuatroPartes retornoAnalisado  = sl.criarAnalisador(linha).Analisar();

            Assert.AreEqual("003", retornoAnalisado.primeira);
            Assert.AreEqual("08", retornoAnalisado.segunda);
            Assert.AreEqual("[1-34-10,2-33-1.50,3-40-0.10]", retornoAnalisado.terceira);
            Assert.AreEqual("Paulo Moçaço", retornoAnalisado.quarta);
        }
Example #3
0
        public void TesteNomeSimples()
        {
            Linha linha = new Linha("003ç10ç[1-10-100,2-30-2.50,3-40-3.10]çPedro");

            Prova.Servicos.ServicoLinha sl = new Prova.Servicos.ServicoLinha();
            QuatroPartes retornoAnalisado  = sl.criarAnalisador(linha).Analisar();

            Assert.AreEqual("003", retornoAnalisado.primeira);
            Assert.AreEqual("10", retornoAnalisado.segunda);
            Assert.AreEqual("[1-10-100,2-30-2.50,3-40-3.10]", retornoAnalisado.terceira);
            Assert.AreEqual("Pedro", retornoAnalisado.quarta);
        }
Example #4
0
        public void TesteNomeComplexo()
        {
            Linha linha = new Linha("001ç1234567891234çPedro Ortaçaç50000");

            Prova.Servicos.ServicoLinha sl = new Prova.Servicos.ServicoLinha();
            QuatroPartes retornoAnalisado  = sl.criarAnalisador(linha).Analisar();

            Assert.AreEqual("001", retornoAnalisado.primeira);
            Assert.AreEqual("1234567891234", retornoAnalisado.segunda);
            Assert.AreEqual("Pedro Ortaça", retornoAnalisado.terceira);
            Assert.AreEqual("50000", retornoAnalisado.quarta);
        }
Example #5
0
        public void TesteNomeSimples()
        {
            Linha linha = new Linha("001ç3245678865434çPauloç40000.99");

            Prova.Servicos.ServicoLinha sl = new Prova.Servicos.ServicoLinha();
            QuatroPartes retornoAnalisado  = sl.criarAnalisador(linha).Analisar();

            Assert.AreEqual("001", retornoAnalisado.primeira);
            Assert.AreEqual("3245678865434", retornoAnalisado.segunda);
            Assert.AreEqual("Paulo", retornoAnalisado.terceira);
            Assert.AreEqual("40000.99", retornoAnalisado.quarta);
        }
Example #6
0
        public void TesteNomeComplexo()
        {
            Linha linha = new Linha("002ç2345675433444345çMaria da GraçaçAdministração");

            Prova.Servicos.ServicoLinha sl = new Prova.Servicos.ServicoLinha();
            QuatroPartes retornoAnalisado  = sl.criarAnalisador(linha).Analisar();

            Assert.AreEqual("002", retornoAnalisado.primeira);
            Assert.AreEqual("2345675433444345", retornoAnalisado.segunda);
            Assert.AreEqual("Maria da Graça", retornoAnalisado.terceira);
            Assert.AreEqual("Administração", retornoAnalisado.quarta);
        }
Example #7
0
        public void TesteNomeSimples()
        {
            Linha linha = new Linha("002ç2345675434544345çJose da SilvaçRural");

            Prova.Servicos.ServicoLinha sl = new Prova.Servicos.ServicoLinha();
            QuatroPartes retornoAnalisado  = sl.criarAnalisador(linha).Analisar();

            Assert.AreEqual("002", retornoAnalisado.primeira);
            Assert.AreEqual("2345675434544345", retornoAnalisado.segunda);
            Assert.AreEqual("Jose da Silva", retornoAnalisado.terceira);
            Assert.AreEqual("Rural", retornoAnalisado.quarta);
        }
Example #8
0
 public Cliente(QuatroPartes dados)
 {
     this.cnpj        = dados.segunda;
     this.nome        = dados.terceira;
     this.areaNegocio = dados.quarta;
 }