static void CarregarArquivo() { if (File.Exists(pathContribuintes)) { using (StreamReader sr = new StreamReader(pathContribuintes)) { while (!sr.EndOfStream) { string linha = sr.ReadLine(); string[] aux = linha.Split(','); string tipo = aux[0]; // PF/PJ string id = aux[1]; // CPF/CNPJ string nome = aux[2]; string endereco = aux[3]; bool contribuinteStatus = bool.Parse(aux[4]); double faturamento = double.Parse(aux[5]); if (tipo == "PF") { PFisica pFisica = new PFisica(nome, id, endereco, faturamento, true, contribuinteStatus); Contribuinte.AddContribuinte(pFisica); } else { PJuridica pJuridica = new PJuridica(nome, id, endereco, faturamento, false, contribuinteStatus); Contribuinte.AddContribuinte(pJuridica); } } } } else { Console.WriteLine("\n Arquivo " + pathContribuintes + " não encontrado! \n"); Directory.CreateDirectory("Files"); File.Open(pathContribuintes, FileMode.Create); System.Threading.Thread.Sleep(800); Console.Clear(); } Console.WriteLine("\n Contribuintes carregados: " + Contribuinte.Cont + " \n"); System.Threading.Thread.Sleep(800); Console.Clear(); }
}// iniciar operações de acordo com escolha do usuário static void CadastrarContribuinte() // método para cadastrar um contribuinte { PJuridica pjuridica; // objeto para pessoa jurídica PFisica pfisica; // objeto para pessoa física bool loop = true; string nome = ""; // armazenar nome do contribuinte string id = ""; // armazenar CPF/CNPJ do contribuinte string endereco = ""; // armazenar endereço do contribuinte double renda = 0; // armazenar salário/faturamento do contribuinte byte opc = 0; // armazenar opção digitada pelo usuário while (loop == true) { Console.Clear(); try // tratar exeção da opção do usuário { Console.WriteLine("\n O contribuinte é: \n"); Console.WriteLine(" 1. Pessoa física "); Console.WriteLine(" 2. Pessoa Jurídica "); Console.Write("\n Digite uma opção: "); opc = byte.Parse(Console.ReadLine()); // obter opção do usuário Console.Clear(); Console.WriteLine("\n Para cadastrar um contribuinte: "); if (opc == 1) // cadastrar pessoa física { Console.Write("\n Digite o CPF do contribuinte: "); id = Console.ReadLine(); // obter CPF do contribuinte digitado pelo usuário loop = false; } else if (opc == 2) // cadastrar pessoa jurídica { Console.Write("\n Digite o CNPJ do contribuinte: "); id = Console.ReadLine(); // obter CNPJ do contribuinte digitado pelo usuário loop = false; } else { Console.Clear(); Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\n Opção inválida! \n"); Console.ResetColor(); System.Threading.Thread.Sleep(280); loop = true; } } catch { Console.Clear(); Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\n Opção inválida! \n"); Console.ResetColor(); System.Threading.Thread.Sleep(280); loop = true; } } loop = true; // voltar a valor padrão para próximo while Console.Write("\n Digite o nome do contribuinte: "); nome = Console.ReadLine(); // obter nome do contribuinte digitado pelo usuário (sem tratamentos) while (loop == true) { try { Console.Write("\n Digite a renda do contribuinte: "); renda = double.Parse(Console.ReadLine()); // obter renda do contribuinte digitado pelo usuário loop = false; if (renda < 0) { Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\n Valor de renda inválida, digite valores não negativos "); Console.ResetColor(); loop = true; } } catch { Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\n Valor de renda inválida, digite apenas números "); Console.ResetColor(); loop = true; } } Console.Write("\n Digite o endereço do contribuinte: "); endereco = Console.ReadLine(); // obter endereço do contribuinte digitado pelo usuário (sem tratamentos) Console.Clear(); if (opc == 1) // cadastrar pessoa física { pfisica = new PFisica(nome, id, endereco, renda, true, true); // instânciando objeto com parâmetros digitados acima if (Contribuinte.AddContribuinte(pfisica) == true) // método para adicionar objeto pfisica ao vetor { Console.BackgroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("\n Pessoa física cadastrada com sucesso! "); Console.ResetColor(); } else // caso o número máximo de cadastros for atingido { Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\n Número máximo de contribuintes atingido! \n"); Console.ResetColor(); } } else if (opc == 2) // cadastrar pessoa jurídica { pjuridica = new PJuridica(nome, id, endereco, renda, false, true); // instânciando objeto com parâmetros digitados acima if (Contribuinte.AddContribuinte(pjuridica) == true) { Console.BackgroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("\n Pessoa jurídica cadastrada com sucesso! "); Console.ResetColor(); } else // caso o número máximo de cadastros for atingido { Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\n Número máximo de contribuintes atingido! \n"); Console.ResetColor(); } } Console.ReadKey(); }