Beispiel #1
0
        static void Main(string[] args)
        {
            for (var i = 1; i <= 10; i++)
            {
                var conta = new ContaCorrente(1, i);
                conta.Depositar(1000m);

                RepositorioDeContas.Salvar(conta);

                var contaPoupanca = new ContaPoupanca(2, i);
                contaPoupanca.Depositar(1000m);

                RepositorioDeContas.Salvar(contaPoupanca);
            }

            int opcao;

            do
            {
                ExibirMenu();
                Console.Write("Informe a opcao: ");
                opcao = int.Parse(Console.ReadLine());

                switch (opcao)
                {
                case 1:

                    CriarNovaConta();

                    break;

                case 2:

                    var conta = ObterConta();

                    if (conta == null)
                    {
                        Console.WriteLine("Conta inexistente!");
                        Console.ReadKey();
                    }
                    else
                    {
                        int opcaoConta;
                        do
                        {
                            ExibirMenuDaConta(conta);

                            Console.Write("Informe a opcao: ");
                            opcaoConta = int.Parse(Console.ReadLine());

                            switch (opcaoConta)
                            {
                            case 1:

                                // exibir saldo

                                ImprimirConta(conta, "Saldo");
                                Console.WriteLine("Saldo Atual: {0}", conta.Saldo.ToString("C2"));
                                Console.ReadKey();

                                break;

                            case 2:

                                // exibir extrato
                                ImprimirExtrato(conta);
                                Console.ReadKey();

                                break;

                            case 3:

                                // saque

                                Sacar(conta);

                                break;

                            case 4:

                                // deposito

                                Depositar(conta);

                                break;
                            }
                        } while (opcaoConta != 0);
                    }
                    break;

                case 3:

                    var contas = RepositorioDeContas.Obter();

                    foreach (var c in contas)
                    {
                        c.Movimentar();
                    }

                    Console.WriteLine("Contas movimentadas com sucesso!");
                    Console.ReadKey();

                    break;
                }
            } while (opcao != 0);
        }