Exemplo n.º 1
0
        static void CriarConta(int agencia)    // método para criar uma nova conta
        {
            string   Titular   = "";           // armazenar nome do titular da conta
            DateTime DataAtual = DateTime.Now; // pegar data do momento da criação da conta
            bool     loop      = true;
            char     opc;                      // armazenar opção escolhida pelo usuário

            do
            {
                Console.WriteLine("\n Escolha o tipo de conta \n");
                Console.WriteLine(" 1. Conta Corrente");
                Console.WriteLine(" 2. Conta Poupança");
                Console.WriteLine(" 3. Conta Investimento");
                Console.Write("\n Escolha uma opcção: ");
                opc = Console.ReadKey().KeyChar;

                switch (opc) // exibir opção escolhida pelo usuário
                {
                case '1':
                    Console.Clear();
                    Console.BackgroundColor = ConsoleColor.White;
                    Console.ForegroundColor = ConsoleColor.Black;
                    Console.WriteLine("\n\t\t\tCriar Conta Corrente\t\t\t\t");
                    Console.ResetColor();

                    loop = false;
                    break;

                case '2':
                    Console.Clear();
                    Console.BackgroundColor = ConsoleColor.White;
                    Console.ForegroundColor = ConsoleColor.Black;
                    Console.WriteLine("\n\t\t\tCriar Conta Poupança\t\t\t\t");
                    Console.ResetColor();

                    loop = false;
                    break;

                case '3':
                    Console.Clear();
                    Console.BackgroundColor = ConsoleColor.White;
                    Console.ForegroundColor = ConsoleColor.Black;
                    Console.WriteLine("\n\t\t\tCriar Conta Investimento\t\t\t");
                    Console.ResetColor();

                    loop = false;
                    break;

                default:
                    Console.Clear();
                    System.Threading.Thread.Sleep(100);

                    Console.BackgroundColor = ConsoleColor.Red;
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("\n Opção inválida, tente novamente\n");
                    Console.ResetColor();
                    loop = true;
                    break;
                }
            } while (loop == true);

            do
            {
                Console.Write("\n Digite o nome completo do titular da conta: ");
                Titular = Console.ReadLine();

                if (ValidarNome(Titular) == false)
                {
                    Console.Clear();
                    Console.BackgroundColor = ConsoleColor.Red;
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("\n Digite um nome válido! \n");
                    Console.ResetColor();
                    loop = true;
                }
                else
                {
                    loop = false;
                }
            } while (loop == true);

            switch (opc) // de acordo com a opção escolhida acima os dados serão destinados a um objeto específico
            {
            case '1':
                Conta contaC = new Conta(Titular, Cont + 1, 1, agencia, 0, DataAtual, true);
                VetContas[ContAgencias] = contaC;
                ContAgencias++;
                Cont++;
                Console.Clear();
                Console.BackgroundColor = ConsoleColor.Yellow;
                Console.ForegroundColor = ConsoleColor.Black;
                Console.WriteLine("\n Conta Corrente criada com sucesso! \n");
                Console.ResetColor();
                break;

            case '2':
                Poupanca contaP = new Poupanca(JurosP, Titular, Cont + 1, 2, agencia, 0, DataAtual, true);
                VetContas[ContAgencias] = contaP;
                ContAgencias++;
                Cont++;
                Console.Clear();
                Console.BackgroundColor = ConsoleColor.Yellow;
                Console.ForegroundColor = ConsoleColor.Black;
                Console.WriteLine("\n Conta Poupança criada com sucesso! \n");
                Console.ResetColor();
                break;

            case '3':
                Investimento contaI = new Investimento(Rendimento, Imposto, Titular, Cont + 1, 3, agencia, 0, DataAtual, true);
                VetContas[ContAgencias] = contaI;
                ContAgencias++;
                Cont++;
                Console.Clear();
                Console.BackgroundColor = ConsoleColor.Yellow;
                Console.ForegroundColor = ConsoleColor.Black;
                Console.WriteLine("\n Conta Investimento criada com sucesso! \n");
                Console.ResetColor();
                break;
            }
            System.Threading.Thread.Sleep(600);
            Console.Clear();
        }
Exemplo n.º 2
0
        static void CarregarContasArquivo(int agencia)              // método para ler arquivo e caregar arquivo de uma agência na memória
        {
            int    contErros     = 0;                               // contador de linhas corrompidas
            string arquivoContas = @"Agencias\" + agencia + ".txt"; // nome do arquivo irá mudar de acordo com a agência selecionada

            Console.WriteLine("\n Carregando dados para a memória... \n");
            if (File.Exists(arquivoContas))                            // verificar existência do arquivo
            {
                using (StreamReader sr = File.OpenText(arquivoContas)) // instânciando StreamReader e já pasando o caminho
                {
                    while (!sr.EndOfStream)
                    {
                        string linhas = sr.ReadLine();     // armazenando conteúdo lido de cada linha do arquivo
                        var    dados  = linhas.Split(';'); // separar dados entre ';'
                                                           // formato dos dados Bryan Diniz;0001;1;010;3500;14/09/2019;true
                                                           // 1. Titular 2. Num conta 3. Tipo 4. Agência 5. Saldo 6. Data de criação 7. Status da conta (estar ou não ativa)
                                                           //
                        try
                        {
                            string   titular     = dados[0];                                                                               // armazenando titular da conta
                            int      numConta    = int.Parse(dados[1]);                                                                    // convertendo e armazenando número da conta
                            int      tipoConta   = int.Parse(dados[2]);                                                                    // convertendo e armazenando o tipo da conta
                            int      numAgencia  = int.Parse(dados[3]);                                                                    // convertendo e armazenando número da agência
                            double   saldo       = double.Parse(dados[4]);                                                                 // convertendo e armazenando saldo da conta
                            DateTime data        = Convert.ToDateTime(dados[5]);                                                           // armazenando data de criação da conta
                            bool     contaStatus = bool.Parse(dados[6]);                                                                   // convertendo e armazenando status da conta

                            if (tipoConta == 1)                                                                                            // se a conta for do tipo 1 = corrente
                            {
                                Conta conta = new Conta(titular, numConta, tipoConta, numAgencia, saldo, data, contaStatus);               // instânciar objeto pessoa
                                VetContas[ContAgencias] = conta;                                                                           // adicionando pessoa a vetor
                                ContAgencias++;                                                                                            // incrementado +1 ao contador de contas da agência atual
                            }
                            else if (tipoConta == 2)                                                                                       // se a conta for do tipo 2 = Poupança
                            {
                                Poupanca conta = new Poupanca(JurosP, titular, numConta, tipoConta, numAgencia, saldo, data, contaStatus); // instânciar objeto pessoa
                                VetContas[ContAgencias] = conta;                                                                           // adicionando pessoa a vetor
                                ContAgencias++;                                                                                            // incrementado +1 ao contador de contas da agência atual
                            }
                            else  // se a conta for do tipo 3 = Investimento
                            {
                                Investimento conta = new Investimento(Rendimento, Imposto, titular, numConta, tipoConta, numAgencia, saldo, data, contaStatus); // instânciar objeto pessoa
                                VetContas[ContAgencias] = conta;                                                                                                // adicionando pessoa a vetor
                                ContAgencias++;                                                                                                                 // incrementado +1 ao contador de contas da agência atual
                            }
                        }
                        catch (IOException e)
                        {
                            Console.WriteLine(e);
                            contErros++;
                        }
                    }
                }
            }
            else
            {
                Console.BackgroundColor = ConsoleColor.Red;
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine(" Arquivo não encontrado \n");
                Console.ResetColor();
            }

            Console.WriteLine(" " + ContAgencias + " contas foram carregadas ");
            Console.WriteLine(" " + contErros + " contas não foram carregadas ");
            System.Threading.Thread.Sleep(1300);
            Console.Clear();
        }