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); }