예제 #1
0
        public static void Main(string[] args)
        {
            string[] lines = System.IO.File.ReadAllLines(args.Length == 0? @"ModeloLayoutSisFAT.txt":args[0]);
            List<Pedido> pedidos = new List<Pedido>();

            for (int i = 0; i < lines.Length; i++) {
                if (lines[i] == "CABEC:") {
                    Pedido pedido = new Pedido();
                    pedido.Id = Int32.Parse(lines[++i].Substring(0, 6));
                    pedido.Data = DateTime.ParseExact(lines[i].Substring(6, 8), "ddMMyyyy",
                                       CultureInfo.InvariantCulture);
                    pedido.Nome = lines[i].Substring(14, 31);
                    pedido.Cnpj = lines[i].Substring(45, 14);
                    i++;

                    if (lines[i] == "ITENS:") {
                        Produto produto = new Produto();
                        while (lines[i + 1] != "CABEC:") {

                            produto.Id = Int32.Parse(lines[++i].Substring(0, 3));
                            produto.Descricao = lines[i].Substring(3, 49);
                            produto.Valor = Double.Parse(lines[i].Substring(52, 11));
                            produto.Quantidade = Double.Parse(lines[i].Substring(63, 9));
                            pedido.AddProduto(produto);

                            if(i == lines.Length - 1) {
                                pedidos.Add(pedido);
                                i--;
                                break;
                            }
                            if(lines[i + 1] == "CABEC:") { pedidos.Add(pedido); }

                        }

                    }
                }
            }

                string[] saida = new String[pedidos.Count()];
                int count = 0;
                foreach (Pedido ped in pedidos) {
                    saida[count++] = ped.Id + ";" + ped.Data+ ";" + ped.Cnpj + ";R;" + ped.Total + ";0001";
                }
                System.IO.File.WriteAllLines(args.Length < 2 ? @"ModeloLayoutSisFIN.txt" : args[1], saida);

            // Suspend the screen.
            Console.ReadLine();
        }
예제 #2
0
 public void AddProduto(Produto produto)
 {
     produtos.Add(produto);
 }