Exemplo n.º 1
0
        static void Main(string[] args)
        {
            int sum = 0;
            int id_contaCorrente = 0;
            int id_contaPoupanca = 0;

            Banco banco = new Banco();
            bool  init  = true;

            while (init)
            {
                MenuAgencia();
                int op = int.Parse(ReadLine());

                if (op == 1)
                {
                    Agencia agencia = new Agencia();
                    agencia.IdAgencia = sum;
                    banco.AdicionarAgencia(agencia);
                    sum++;
                }
                else if (op == 2)
                {
                    Cliente cliente = new Cliente();
                    WriteLine("digite o nome do titular: ");
                    string nome_cliente = ReadLine();
                    cliente.Nome = nome_cliente;

                    WriteLine("Temos 2 tipos de conta, qual deseja?\n");
                    WriteLine("1 - Conta Corrente: ");
                    WriteLine("2 - Conta Poupança: ");

                    int tipo_conta = int.Parse(ReadLine());
                    if (tipo_conta == 1)
                    {
                        ContaCorrente cc = new ContaCorrente(cliente.Nome);
                        WriteLine("Digite o numero da agência: ");
                        int numAgencia = int.Parse(ReadLine());

                        Agencia agencia = banco.buscaAgencia(numAgencia);
                        if (agencia != null)
                        {
                            cc.Id = id_contaCorrente;
                            agencia.AdicionarContaCorrente(cc);
                            id_contaCorrente++;
                        }
                        else
                        {
                            WriteLine("Dados errado, tente novamente.");
                        }
                    }
                    else if (tipo_conta == 2)
                    {
                        ContaPoupanca cp = new ContaPoupanca(Juros, DateTime.Now, cliente.Nome);
                        WriteLine("Digite o numero da agência: ");
                        int numAgencia = int.Parse(ReadLine());

                        Agencia agencia = banco.buscaAgencia(numAgencia);
                        if (agencia != null)
                        {
                            cp.Id = id_contaPoupanca;
                            agencia.AdicionarContaPoupanca(cp);
                            id_contaPoupanca++;
                        }
                        else
                        {
                            WriteLine("Dados errado, tente novamente.");
                        }
                    }
                }
                else if (op == 3)
                {
                    Solicitacao solicitacao = new Solicitacao();
                    solicitacao.realizarSolicitacao(banco);
                }
                else if (op == 4)
                {
                    banco.listaIdAgencias();
                }
                else if (op == 0)
                {
                    init = false;
                }
            }
        }
        static void Main(string[] args)
        {
            int s = 0;
            int idContaCorrente = 1;
            int idContaPoupanca = 1;

            using (var dbcontext = new StoreContext())
            {
                dbcontext.Set <Agencia>().RemoveRange(dbcontext.Agencias);
                dbcontext.Set <Banco>().RemoveRange(dbcontext.Bancos);
                dbcontext.Set <Cliente>().RemoveRange(dbcontext.Clientes);
                dbcontext.Set <ContaCorrente>().RemoveRange(dbcontext.ContasCorrentes);
                dbcontext.Set <ContaPoupanca>().RemoveRange(dbcontext.ContasPoupanca);
                dbcontext.Set <Solicitacao>().RemoveRange(dbcontext.Solicitacoes);
                dbcontext.SaveChanges();

                Banco b = new Banco();
                dbcontext.Bancos.Add(b);
                dbcontext.SaveChanges();



                while (true)
                {
                    b.listaIdAgencias();
                    Menu();
                    int op = int.Parse(Console.ReadLine());

                    if (op == 1)
                    {
                        Agencia a = new Agencia();
                        a.IdAgencia = s;
                        b.AdicionarAgencia(a);
                        s++;

                        dbcontext.Agencias.Add(a);
                        dbcontext.SaveChanges();
                    }
                    else if (op == 2)
                    {
                        Cliente c = new Cliente();
                        Console.WriteLine("Digite o nome do cliente: ");
                        string nomeCliente = Console.ReadLine();
                        c.Nome = nomeCliente;
                        dbcontext.Clientes.Add(c);
                        dbcontext.SaveChanges();

                        Console.WriteLine("Que tipo de conta deseja criar:\n");
                        Console.WriteLine("1 - Corrente / 2 - Poupança: ");
                        int tipo_conta = int.Parse(Console.ReadLine());
                        if (tipo_conta == 1)
                        {
                            ContaCorrente cc = new ContaCorrente(c.Nome);
                            Console.WriteLine("Digite o Id da agência: ");
                            int numAgencia = int.Parse(Console.ReadLine());

                            Agencia agencia = b.buscaAgencia(numAgencia);
                            if (agencia != null)
                            {
                                cc.Id = idContaCorrente;
                                agencia.AdicionarContaCorrente(cc);
                                idContaCorrente++;
                                dbcontext.ContasCorrentes.Add(cc);
                                dbcontext.SaveChanges();
                            }
                            else
                            {
                                Console.WriteLine("Por favor tente novamente!");
                            }
                        }
                        else if (tipo_conta == 2)
                        {
                            ContaPoupanca cp = new ContaPoupanca(Juros, DateTime.Now, c.Nome);
                            Console.WriteLine("Digite o Id da agência: ");
                            int numAgencia = int.Parse(Console.ReadLine());

                            Agencia agencia = b.buscaAgencia(numAgencia);
                            if (agencia != null)
                            {
                                cp.Id = idContaPoupanca;
                                agencia.AdicionarContaPoupanca(cp);
                                idContaPoupanca++;
                                dbcontext.ContasPoupanca.Add(cp);
                                dbcontext.SaveChanges();
                            }
                            else
                            {
                                Console.WriteLine("Por favor tente novamente!");
                            }
                        }
                    }
                    else if (op == 3)
                    {
                        Solicitacao solicitacao = new Solicitacao();
                        solicitacao.realizarSolicitacao(b);
                        dbcontext.Solicitacoes.Add(solicitacao);
                        dbcontext.SaveChanges();
                    }
                    else if (op == 4)
                    {
                        b.listaIdAgencias();
                    }
                    else if (op == 5)
                    {
                        Console.Clear();
                    }
                    else if (op == 0)
                    {
                        return;
                    }
                    else
                    {
                        Console.WriteLine("OPÇÃO INVÁLIDA");
                    }
                }
            }
        }