static void Main(string[] args) { using (var db = new StoreContext()) { db.Set <Banco>().RemoveRange(db.Bancos); Banco banco = new Banco(); db.Bancos.Add(banco); db.SaveChanges(); while (true) { menu(); int op = int.Parse(Console.ReadLine()); if (op == 1) { Agencia agencia = new Agencia(); agencia.Banco = banco; db.Agencias.Add(agencia); //add agência in banco db.SaveChanges(); banco.findAllAgencia(); } else if (op == 2) { banco.findAllAgencia(); Console.WriteLine("Informe o número da agência: "); int numAgencia = int.Parse(Console.ReadLine()); Agencia agencia = banco.findAgencia(numAgencia); if (agencia == null) { Console.WriteLine( "*************************************\n" + "**Agencia inválida! Tente novamente**\n" + "*************************************\n"); continue; } Cliente cliente = new Cliente(); Console.WriteLine("Informe o nome do cliente: "); cliente.Nome = Console.ReadLine(); Console.WriteLine("Qual tipo de conta deseja criar:"); Console.WriteLine("1 - Corrente | 2 - Poupança"); int tipoConta = int.Parse(Console.ReadLine()); if (tipoConta == 1) { db.Clientes.Add(cliente); //add cliente in base ContaCorrente cc = new ContaCorrente(cliente.Nome, agencia); var x = db.ContasCorrente.Add(cc); //add Conta Corrente in base } else if (tipoConta == 2) { db.Clientes.Add(cliente); //add cliente in base ContaPoupanca cp = new ContaPoupanca(JUROS, DateTime.Now, cliente.Nome, agencia); db.ContasPoupanca.Add(cp); //add Conta Poupança in base } } else if (op == 3) { Solicitacao solicitacao = new Solicitacao(); solicitacao.realizarSolicitacao(banco); } else if (op == 4) { return; } else { Console.WriteLine( "***********************************\n" + "**Opção inválida! Tente novamente**\n" + "***********************************\n"); } db.SaveChanges(); } //Fim do while } } //Fim da main
public void realizarSolicitacao(Banco banco) { using (var db = new StoreContext()) { banco.findAllAgencia(); Console.WriteLine("Informe o Id da agência: "); Agencia agencia = banco.findAgencia(int.Parse(Console.ReadLine())); if (agencia == null) { Console.WriteLine( "**********************\n" + "**Agência não existe**\n" + "**********************\n"); return; } Console.WriteLine( "Informe o tipo da conta:\n" + "1 - Corrente | 2 - Poupança"); int tipoConta = int.Parse(Console.ReadLine()); if (tipoConta == 1) { agencia.findAllCCorrente(); Console.WriteLine("Informe o numero da conta: "); int numConta = int.Parse(Console.ReadLine()); try { var cc = db.Set <ContaCorrente>().First(p => p.Id == numConta); //Update Conta Corrente in banco Console.WriteLine( "1 - Consultar Saldo\n" + "2 - Sacar\n" + "3 - Depositar\n" + "4 - Remover Conta"); int op = int.Parse(Console.ReadLine()); if (op == 1) { Console.WriteLine( "Conta: " + cc.Id + "\nTitular: " + cc.Titular + "\nSaldo: R$ " + cc.Saldo); } else if (op == 2) { Console.WriteLine("Informe o valor para saque: "); double valor = Double.Parse(Console.ReadLine()); if (valor <= cc.Saldo) { cc.Saldo -= valor; } else { Console.WriteLine( "**********************\n" + "**Saldo insuficiente**\n" + "**********************\n"); } } else if (op == 3) { Console.WriteLine("Informe o valor para deposito: "); double valor = Double.Parse(Console.ReadLine()); cc.Saldo += valor; } else if (op == 4) { Console.WriteLine( "******************************************\n" + "**Realmente deseja remover a conta(s/n)?**\n" + "******************************************\n"); string ex = Console.ReadLine(); if (ex == "s") { db.Remove(cc); Console.WriteLine("Conta removida com sucesso!"); } else { return; } } } catch { Console.WriteLine( "******************\n" + "**Conta inválida**\n" + "******************\n"); } } else if (tipoConta == 2) { agencia.findAllCPoupanca(); Console.WriteLine("Informe o numero da conta: "); int numConta = int.Parse(Console.ReadLine()); try { var cp = db.Set <ContaPoupanca>().First(p => p.Id == numConta); //Update Conta Poupança in banco Console.WriteLine( "1 - Consultar Saldo\n" + "2 - Sacar\n" + "3 - Depositar\n" + "4 - Remover Conta"); int op = int.Parse(Console.ReadLine()); if (op == 1) { Console.WriteLine( "Conta = " + cp.Id + "\nTitular = " + cp.Titular + "\nSeu saldo é = R$ " + cp.Saldo); } else if (op == 2) { Console.WriteLine("Informe o valor para saque: "); double valor = Double.Parse(Console.ReadLine()); if (valor <= cp.Saldo) { cp.Saldo -= valor; } else { Console.WriteLine( "**********************\n" + "**Saldo insuficiente**\n" + "**********************\n"); } } else if (op == 3) { Console.WriteLine("Informe o valor para deposito: "); double valor = Double.Parse(Console.ReadLine()); cp.Saldo += valor; } else if (op == 4) { Console.WriteLine( "******************************************\n" + "**Realmente deseja remover a conta(s/n)?**\n" + "******************************************\n"); string ex = Console.ReadLine(); if (ex == "s") { db.Remove(cp); Console.WriteLine("Conta removida com sucesso!"); } else { return; } } } catch { Console.WriteLine( "******************\n" + "**Conta inválida**\n" + "******************\n"); } } db.SaveChanges(); //Save banco Console.WriteLine(""); } } //Fim do método