예제 #1
0
        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();
        }
예제 #2
0
        }// 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();
        }