private void AtualizarStatusArquivoCSV(ArquivoCSV arquivoCSV) { using (var connection = new SqlConnection(_conn)) { connection.Query(@"UPDATE [dbo].[TbCSVFile] SET StatusProcessamento = @StatusProcessamento,DescricaoProcessamento = @DescricaoProcessamento WHERE IdCSVFile = @IdCSVFile; ", arquivoCSV); } }
public ArrayPadrao(string[] header, ArquivoCSV arquivo) { this.header = header; this.numLinhas = arquivo.numLinhas; this.numColunas = header.Length; this.dados = new string[numLinhas, numColunas]; //Tamanho do Array Padrão = [Linhas do arquivo CSV x Colunas do header padrão] transfereHeader(); this.indexTransferencia = identificaDados(arquivo.header); //lê o cabeçalho do CSV e identifica com base no header Padrão. transfereDados(arquivo.dados); // transfere dados do CSV pras respectivas colunas do header Padrão. }
public ActionResult <ArquivoCSV> EnviarCSVSalesRecord([FromBody] ArquivoCSV arquivoCSV) { try { _dal.SalvarRegistrosDoCSV(arquivoCSV); return(arquivoCSV); } catch (Exception ex) { arquivoCSV.StatusProcessamento = -1; arquivoCSV.DescricaoProcessamento = ex.Message; return(arquivoCSV); } }
public float getFrequencia(string nom, ArquivoCSV tabelaIBGE) //Pega a frequência em q o nome aparece no arquivo do IBGE correspondente ao sexo //Console.WriteLine($"{nom}"); { int linha = Array.IndexOf(tabelaIBGE.coluna(0), nom); if (linha == -1) { //Console.WriteLine($"{nom} - Nome não encontrado no IBGE"); return(0.01F); } else { string s = tabelaIBGE.coluna(2)[linha]; //Pega a frequência do nome na pesquisa do IBGE return((float)Int32.Parse(s)); } }
private void loadFileToolStripMenuItem_Click(object sender, EventArgs e) { try { using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.InitialDirectory = string.Format("{0}\\Files", Directory.GetCurrentDirectory()); openFileDialog.Filter = "csv files (*.csv)|*.csv"; openFileDialog.FilterIndex = 2; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { //Get the path of specified file string filePathCSV = openFileDialog.FileName; string[] filePath = new string[2]; filePath = (string[])_arquivoIni.LerArquivo(); filePath[1] = filePathCSV; _arquivoIni.GravarArquivo(filePath); Arquivo arquivoCSV = new ArquivoCSV(filePath[1]); _listaItemConfiguracao.CarregarListaDoArquivo(arquivoCSV.LerArquivo); treeView1.TopNode.Collapse(true); ListViewItemConfiguracao list = new ListViewItemConfiguracao(listView1); list.limparListaItemConfiguracao(); } } } catch (Exception err) { MessageBox.Show(err.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public ArquivoCSV SalvarRegistrosDoCSV(ArquivoCSV arquivoCSV) { try { using (var connection = new SqlConnection(_conn)) { arquivoCSV.IdCSVFile = connection.QuerySingle <int>(@"INSERT INTO [dbo].[TbCSVFile] ( [CaminhoInicial], [NomeIdentificacao], [TotalLinhas], [TotalLinhasImportadas], [TotalLinhasComErro] ) VALUES ( @CaminhoInicial, @NomeIdentificacao, @TotalLinhas, @TotalLinhasImportadas, @TotalLinhasComErro ); SELECT CAST(SCOPE_IDENTITY() as int)", arquivoCSV); arquivoCSV.RegistrosParaImportacao.ForEach(o => o.Fk_IdCSVFile = arquivoCSV.IdCSVFile); DataTable dtRegistrosParaImportacao = CollectionHelper.ConvertTo <SalesRecord>(arquivoCSV.RegistrosParaImportacao.Where(l => !l.FlagErro).ToList()); DataTable dtRegistrosParaLog = CollectionHelper.ConvertTo <SalesRecord>(arquivoCSV.RegistrosParaImportacao.Where(l => l.FlagErro).ToList()); // Bulk Copy para Importacao SqlBulkCopy objBulkImportacao = new SqlBulkCopy(_conn); objBulkImportacao.DestinationTableName = "TbSalesRecord"; string[] colunasImportacao = { "Fk_IdCSVFile", "Region", "Country", "Item_Type", "Sales_Channel", "Order_Priority", "Order_Date", "Order_ID", "Ship_Date", "Units_Sold", "Unit_Price", "Unit_Cost", "Total_Revenue", "Total_Cost", "Total_Profit", "NumLinha" }; foreach (var column in colunasImportacao) { objBulkImportacao.ColumnMappings.Add(column, column); } objBulkImportacao.WriteToServer(dtRegistrosParaImportacao); // Bulk Copy para Log de Erros SqlBulkCopy objBulkLog = new SqlBulkCopy(_conn); objBulkLog.DestinationTableName = "TbLogImportacao"; string[] colunasLog = { "Fk_IdCSVFile", "NumLinha", "ErroImportacao" }; foreach (var col in colunasLog) { objBulkLog.ColumnMappings.Add(col, col); } objBulkLog.WriteToServer(dtRegistrosParaLog); arquivoCSV.StatusProcessamento = 1; arquivoCSV.DescricaoProcessamento = "Processo de importação executado com sucesso!"; } } catch (Exception ex) { arquivoCSV.StatusProcessamento = -1; arquivoCSV.DescricaoProcessamento = $"Erro: {ex.Message}"; } AtualizarStatusArquivoCSV(arquivoCSV); return(arquivoCSV); }
public static ArquivoCSV ImportarArquivo(string caminhoArquivoCSV = null, string nomeIdentificacao = null) { Console.WriteLine("Informe o caminho de um arquivo para importação:"); if (string.IsNullOrEmpty(caminhoArquivoCSV)) { caminhoArquivoCSV = Console.ReadLine().Replace("\"", ""); } try { // Criação de StreamReader para importação via CSVHelper using (var fs = new StreamReader(caminhoArquivoCSV)) { List <SalesRecord> lines = new CsvReader(fs, System.Globalization.CultureInfo.CurrentCulture).GetRecords <LinhaCSV>().Select((l, index) => new SalesRecord(l, index + 1)).ToList(); Console.WriteLine("Informe um nome para identificação do arquivo:"); if (string.IsNullOrEmpty(nomeIdentificacao)) { nomeIdentificacao = Console.ReadLine(); } // Preparação do objeto de arquivo com detalhes para envio var csvFileDetails = new ArquivoCSV(); csvFileDetails.CaminhoInicial = caminhoArquivoCSV; csvFileDetails.NomeIdentificacao = nomeIdentificacao; csvFileDetails.TotalLinhas = lines.Count(); csvFileDetails.TotalLinhasComErro = lines.Count(l => l.FlagErro); csvFileDetails.TotalLinhasImportadas = lines.Count(l => !l.FlagErro); csvFileDetails.RegistrosParaImportacao = lines.ToList(); // Chamada à API de testes var client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:5000/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // Conversão para JSON do arquivo string json = JsonSerializer.Serialize(csvFileDetails); // Envio de dados e retorno esperado como JSON HttpResponseMessage retorno = client.PostAsync("api/principal/enviar", new StringContent(json, Encoding.UTF8, "application/json")).Result; var arquivoRetorno = JsonSerializer.Deserialize <ArquivoCSV>(retorno.Content.ReadAsStringAsync().Result); if (arquivoRetorno.StatusProcessamento == -1) { Console.WriteLine("Erro na Importação pela API: " + arquivoRetorno.DescricaoProcessamento); } else { Console.WriteLine("Status de Importação:"); Console.WriteLine($"---Total de Linhas:{arquivoRetorno.TotalLinhas}"); Console.WriteLine($"---Total de Linhas Importadas:{arquivoRetorno.TotalLinhasImportadas}"); Console.WriteLine($"---Total de Linhas Com Erro:{arquivoRetorno.TotalLinhasComErro}"); Console.WriteLine($"---ID do Arquivo:{arquivoRetorno.IdCSVFile}"); Console.WriteLine($"---Nome de Identificação:{arquivoRetorno.NomeIdentificacao}"); } return(arquivoRetorno); } } catch (Exception e) { Console.WriteLine("Erro geral: " + e); return(null); } }
static void Main(string[] args) { string op; ArquivoCliente arquivoCliente = new ArquivoCliente(); ArquivoEmprestimo arquivoEmprestimo = new ArquivoEmprestimo(); ArquivoLivro arquivoLivro = new ArquivoLivro(); List <Cliente> clientes = new List <Cliente>(); List <Livro> livros = new List <Livro>(); List <EmprestimoLivro> emprestimos = new List <EmprestimoLivro>(); #region Criar Arquivos if (!ArquivoCSV.CriarDiretorio()) { if (!arquivoCliente.CriarArquivo()) { clientes = arquivoCliente.Leitura(); } if (!arquivoLivro.CriarArquivo()) { livros = arquivoLivro.Leitura(); } if (!arquivoEmprestimo.CriarArquivo()) { emprestimos = arquivoEmprestimo.Leitura(); } } else { arquivoCliente.CriarArquivo(); arquivoEmprestimo.CriarArquivo(); arquivoLivro.CriarArquivo(); } #endregion Console.WriteLine("Bem vindo a livraria 5by5\n"); #region Menu do //Repita enquanto a opção de sair não seja escolhida { Menu(); Console.Write(">>> "); op = Console.ReadLine(); string cpf; long numeroTombo; string nTombo; bool funcionar; Livro livro = new Livro(); Cliente cliente = new Cliente();; EmprestimoLivro emprestimo = new EmprestimoLivro();; switch (op) { case "1": #region Cadastro Cliente //Cadastro do Cliente Console.Clear(); Console.WriteLine(">>> Cadastro de clientes <<<"); cliente = new Cliente(); Console.Write("Digite o CPF do cliente: "); cpf = Console.ReadLine(); cliente = clientes.Find(c => c.CPF == cpf); if (cliente != null) { //trazendo informações do cliente Console.WriteLine("\nCliente já cadastrado!"); Console.WriteLine(cliente); } else { cliente = CadastroCliente(cpf); cliente.endereco = CadastroEndereco(); if (!(clientes.Count > 0)) { cliente.IdCliente = 1; } else { cliente.IdCliente = clientes.Last().IdCliente + 1; } arquivoCliente.Salvar(cliente); clientes.Add(cliente); Console.WriteLine("Cliente cadastrado..."); } Console.Write("Pressione qualquer tecla para voltar ao menu principal..."); Console.ReadKey(); Console.Clear(); break; #endregion case "2": #region Cadastro do livro //Cadastro do livro Console.Clear(); Console.WriteLine(">>> Cadastro de livros <<<"); Console.Write("\nDigite o ISBN do livro: "); string isbn = Console.ReadLine(); livro = livros.Find(l => l.ISBN == isbn); if (livro != null) // se estiver cadastrado { Console.WriteLine("\nLivro já cadastrado!"); Console.WriteLine(livro); Console.Write("Pressione qualquer tecla para voltar ao menu principal..."); Console.ReadKey(); Console.Clear(); } else //se não estiver cadastrado { if (!(livros.Count > 0)) { numeroTombo = 1; } else { numeroTombo = livros.Last().NumeroTombo + 1; } livro = CadastroLivro(numeroTombo, isbn); arquivoLivro.Salvar(livro); livros.Add(livro); Console.WriteLine("\nLivro cadastrado..."); Console.WriteLine($"O numero do tombo é: {numeroTombo}"); Console.Write("Pressione qualquer tecla para voltar ao menu principal..."); Console.ReadKey(); Console.Clear(); } break; #endregion case "3": #region Empréstimo de Livro //Empréstimo de Livro Console.Clear(); Console.WriteLine(">>> Empréstimo de livros <<<"); if (!(livros.Count > 0)) { Console.WriteLine("\nNenhum livro cadastrado"); } else { do { funcionar = false; do { Console.Write("Digite o numero do tombo: "); nTombo = Console.ReadLine(); if (!long.TryParse(nTombo, out numeroTombo)) { Console.WriteLine("Digite um número inteiro !\n"); } else { funcionar = true; } } while (!funcionar); livro = livros.Find(l => l.NumeroTombo == numeroTombo); if (livro == null) { Console.WriteLine("\nLivro indisponível para empréstimo"); Console.WriteLine("Deseja tentar novamente? "); op = Confirmacao(); } else { do { Console.Write("Digite o CPF do cliente: "); cpf = Console.ReadLine(); cliente = clientes.Find(c => c.CPF == cpf); if (cliente == null) { Console.WriteLine("\nCliente não cadastrado"); Console.WriteLine("Deseja tentar novamente? "); op = Confirmacao(); } else { emprestimo = CadastradoEmprestimo(numeroTombo, cliente.IdCliente); arquivoEmprestimo.Salvar(emprestimo); emprestimos.Add(emprestimo); Console.WriteLine("\nEmprestimo cadastrado..."); op = "sair"; // condição para sair do laço } } while (op != "sair"); } } while (op != "sair"); } Console.Write("Pressione qualquer tecla para voltar ao menu principal..."); Console.ReadKey(); Console.Clear(); break; #endregion case "4": #region Devolução do Livro //Devolução do Livro Console.Clear(); Console.WriteLine(">>> Devolução de livros <<<"); if (!(emprestimos.Count > 0)) { Console.WriteLine("\nNenhum livro cadastrado para emprestimo"); } else { funcionar = false; do { Console.Write("Digite o numero do tombo: "); nTombo = Console.ReadLine(); if (!long.TryParse(nTombo, out numeroTombo)) { Console.WriteLine("Digite um número inteiro !\n"); } else { funcionar = true; } } while (!funcionar); int index = arquivoEmprestimo.ProcuraNumeroTombo(numeroTombo); if (index == -1) //ProcuraNumeroTombo retorna -1 caso não encontre o index { Console.WriteLine("\nLivro não encontrado para devolução"); } else { double multa = EmprestimoLivro.CalculaMulta(emprestimos.ElementAt(index)); if (multa > 0) { Console.WriteLine($"\nMulta a ser paga: R$ {multa:F2}"); string resposta; do { Console.Write("A multa foi paga sim ou não(s/n)? "); resposta = Console.ReadLine().ToLower(); if (resposta == "s") { emprestimos.ElementAt(index).StatusEmprestimo = 2; arquivoEmprestimo.Devolucao(index); //alterar situação Console.WriteLine("\nSituação alterada para \"Devolvido\"..."); } else if (resposta != "n") { Console.WriteLine("Digite \"s\" ou \"n\""); } else { Console.WriteLine("\nSituação não foi alterada..."); } } while (resposta != "s" && resposta != "n"); } else { Console.WriteLine("\nO prazo da devolução foi cumprido\n"); emprestimos.ElementAt(index).StatusEmprestimo = 2; arquivoEmprestimo.Devolucao(index); //alterar situação Console.WriteLine("salvando situação para \"Devolvido\"..."); } //Alterar para devolvido (2) no arquivoEmprestimo } } Console.Write("Pressione qualquer tecla para voltar ao menu principal..."); Console.ReadKey(); Console.Clear(); break; #endregion case "5": #region Relatório de Emprestimos e Devoluções Console.Clear(); Console.WriteLine(">>> Relatório de Emprestimos e Devoluções <<<"); int j = 0; do { if (emprestimos.Count == 0) { Console.WriteLine("\nNenhum emprestimo cadastrado!"); j = -1; } else { Relatorio relatorio = new Relatorio(); Console.Write("\n" + relatorio.Imprimir(clientes, livros, emprestimos[j])); j = relatorio.Menu(emprestimos, j); } } while (j != -1); Console.Write("Pressione qualquer tecla para voltar ao menu principal..."); Console.ReadKey(); Console.Clear(); break; #endregion case "0": #region Finalizar o Programa //Finalizar o Programa Console.Clear(); do //Repita enquanto a resposta for diferente de sim ou não { Console.WriteLine("\nDeseja realmente sair?"); Console.WriteLine("Digite \"s\" pra sim ou \"n\" para não\n"); Console.Write(">>> "); op = Console.ReadLine().ToLower(); if (op == "s") { op = "0"; Console.Write("\nObrigado por usar o sistema Livraria 5by5\n"); } else if ((op == "n")) { Console.Write("Pressione qualquer tecla para voltar ao menu principal..."); Console.ReadKey(); Console.Clear(); } else { Console.WriteLine("Digito inválido"); } } while (op != "0" && op != "n"); break; #endregion default: Console.Clear(); Console.WriteLine("\nPor favor digite uma opção do menu !\n"); break; } } while (op != "0"); #endregion Console.Write("Pressione qualquer tecla para encerrar..."); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("INICIO"); Linha(); ArquivoCSV dadosImportacao = new ArquivoCSV(csvImportacao); ArrayPadrao arrayPadrao = new ArrayPadrao(headerPadrao, dadosImportacao); //Transfere os dados do CSV para o array com todos os campos possíveis arrayPadrao.validaSexo(); SalvaArrayPraArquivo(arquivoTeste, arrayPadrao.Finalizado()); string[] testeTels = new string[] { "(38) 99482427", "(38) 998752466", "(38) 991504698", "(38) 99066615", "(38) 91237721", "(38) 99173394", "(38) 97459532", "(38) 99079338", "(38) 99066615", "(38) 99372419", "(038) 998591692", "(038) 99151443", "(038) 99982382", "(038) 32163016", "(038) 92394557", "(038) 91821034", "(038) 99982793", "(038) 99261500", "(038) 98081331", "(038) 91516315", "38 91332934", "38 98081331", "38 91215657", "38 99560343", "38 998309231", "38 992128858", "38 91147614", "38 99560343", "38 98421235", "38 998671134", "(38) 89313391", "(38) 81456699", "(38) 81178001", "(38) 89993167", "(38) 89417015", "(38) 79442660", "(38) 78018084", "(38) 79311977", "(38) 9991323890", "(38) 78897613", "(38) 21990088", "(38) 31733375", "(38) 29637348", "(38) 41973712", "(38) 291747854", "(38) 29582408", "(038) 29604449", "(38) 31216628", "(038) 31113198", "27357511", "38732263", "(38) 999097317", "(38) 998390692", "(38) 91156889", "(38) 991784982", "(38) 998556303", "(38) 91176610", "(38) 92121583", "(38) 91850584", "(38) 91403844", "(38) 997497285", "(38) 992362143", "(38) 999509604", "(38) 991903782", "(38) 998576673", "(38) 99984310", "(38) 998390444", "(38) 991528497", "(38) 99545005", "(38) 999126834", "(38) 84130303", "(38) 999550648", "(38) 91739262", "(38) 999328091", "(38) 99550648", "(38) 98996037", "(38) 91215767", "(38) 999936088", "(38) 84213208", "(38) 98331190", "(38) 99246127", "(38) 998927642", "(38) 92230430", "(38) 99251961", "(38) 91852920", "(38) 91893244", "(38) 98189414", "(38) 999896200", "(38) 98318740", "(38) 991456699", "(38) 91391927", "(38) 998191913", "(38) 91154587", "(38) 91955041", "(38) 91979265", "(38) 91154587", "(38) 98986315", "(38) 91902722", "(38) 99197127", "(38) 999896200", "(38) 98589748", "(38) 98277311", "(38) 99953114", "(31) 98015132", "(38) 84139041", "(38) 991914891", "(38) 99146208", "(38) 99304425", "(38) 92280784", "(38) 91261110", "(38) 91289623", "(38) 999291437", "(38) 999297359", "(38) 99696800", "(38) 98131512", "(38) 997303233", "(38) 997446188", "(38) 99158331", "(38) 99215861", "(38) 998149105", "(38) 99380217", "(38) 992266652", "(38) 99798796", "(38) 99955720", "(38) 98598724", "(38) 99158331", "(38) 991902722", "(38) 91324695", "(38) 99246107", "(38) 998208569", "(38) 984173791", "(38) 991562550", "(38) 99040907", "(31) 996159887", "(38) 99936131", "(38) 91932624", "(38) 99001850", "(38) 999781081", "(38) 91601799", "(38) 999291437", "(38) 98495643", "(38) 999841538", "(38) 99580557", "(38) 999166403", "(38) 91231162", "(38) 92060371", "(38) 991638318", "(38) 99283872", "(38) 991336241", "(38) 92143280", "(38) 99595660", "(38) 91714408", "(38) 99733104", "(38) 91179704", "(38) 92197325", "(38) 91261211", "(38) 999509574", "(38) 88054424", "(38) 991237517", "(38) 98387440", "(38) 998584253", "(38) 99076048", "(38) 91694888", "(38) 98134646", "(38) 999612172", "(38) 99916311", "(38) 999703165", "(38) 91700753", "(38) 998496509", "(33) 91171345", "(33) 91065245", "(38) 99882493", "(38) 91948004", "(38) 99953114", "(38) 999648656", "(38) 999891368", "(38) 98890880", "(38) 999261500", "(38) 991994892", "(38) 999669435", "(38) 98180434", "(38) 88194649", "(38) 988194649", "(38) 991230470", "(38) 91918880", "(38) 99172320", "(38) 91173872", "(38) 91858316", "(38) 991122021", "(38) 99186715", "(38) 999784050", "(38) 92471302", "(38) 98196647", "(38) 99494378", "(38) 999297952", "(38) 999982382", "(38) 91406251", "(38) 97508020", "(38) 999983720", "(38) 92433654", "(38) 999291457", "(38) 98191161", "(38) 999757475", "(38) 999105469", "(38) 98667527", "(38) 99826644", "(38) 91567685", "(38) 991296563", "(38) 99297617", "(38) 99497298", "(38) 991100302", "(38) 98075463", "(38) 991689577", "(38) 998208569", "(38) 998715354", "(38) 91415907", "(11) 986046616", "(38) 999289007", "(38) 99049814", "(38) 999692520", "(38) 99300752", "(38) 97401439", "(38) 998083519", "(38) 999142643", "(38) 99165557", "(38) 98118374", "(38) 98908270", "(38) 998068803", "(38) 999789740", "(38) 998188206", "(38) 998286744", "(38) 98728909", "(38) 999405872", "(38) 997425244", "(38) 99659822", "(38) 99739909", "(38) 97318115", "(38) 99494964", "(38) 98096948", "(33) 999462633", "(38) 99623588", "(38) 91427577", "(38) 91673350", "(38) 84079513", "(38) 99327273", "(38) 997503073", "(38) 91882457", "(38) 88222494", "(38) 91436035", "(38) 91909196", "(38) 97290888", "(38) 91625343", "(38) 99660727", "(38) 998387543", "(38) 99399759", "(38) 91328766", "(38) 92171499", "(38) 99071190", "(38) 99479555", "(38) 98697938", "(38) 322235769", "(38) 91959640", "(38) 99061950", "(38) 99905971", "(38) 99786300", "(38) 99931900", "(38) 99905971", "(38) 91001907", "(38) 997341626", "(38) 84118613", "(38) 992193867", "(38) 999273084", "(38) 91691884", "(38) 91099654", "(38) 999271488", "(38) 97385150", "(38) 99270072", "(38) 998515324", "(38) 99118257", "(38) 992254563", "(38) 91660283", "(38) 991120162", "(38) 91837324", "(38) 991660283", "(38) 91259305", "(38) 991492362", "(38) 91344663", "(38) 99056681", "(38) 99872342", "(38) 91467769", "(38) 91467769", "(38) 91623193", "(38) 88030330", "(38) 91215169", "(38) 999799440", "(38) 99523048", "(38) 92370042", "(38) 999068013", "(38) 991717857", "(38) 988398913", "(38) 99029234", "(38) 98515324", "(38) 91579662", "(38) 32231567", "(38) 92326193", "(38) 91289948", "(38) 991458519", "(38) 992326193", "(38) 998326193", "(38) 98967136", "(38) 91186123", "(38) 997238201", "(38) 98240393", "(38) 99473798", "(38) 91922185", "(38) 92173416", "(38) 91314041", "(38) 321019695", "(38) 91761149", "(38) 99929603", "(38) 98528075", "(38) 84159683", "(38) 991114603", "(38) 99988642", "(38) 88320271", "(38) 988314544", "(38) 98483201", "(38) 991408247", "(38) 99079525", "(38) 91591231", "(38) 91340623", "(38) 91029231", "(38) 9729236" }; //foreach(string s in testeTels){ // Telefone t = new Telefone(s); // t = null; //} Console.WriteLine("Pressione ENTER para sair..."); Console.ReadLine(); }