static void Main(string[] args) { ControladorAmigo controladorAmigo = new ControladorAmigo(100); ControladorCaixa controladorCaixa = new ControladorCaixa(100); ControladorRevista controladorRevista = new ControladorRevista(100, controladorCaixa); ControladorEmprestimo controladorEmprestimo = new ControladorEmprestimo(100, controladorRevista, controladorAmigo); TelaAmigo telaAmigo = new TelaAmigo(controladorAmigo); TelaCaixa telaCaixa = new TelaCaixa(controladorCaixa); TelaRevista telaRevista = new TelaRevista(controladorRevista, controladorCaixa, telaCaixa); TelaEmprestimo telaEmprestimo = new TelaEmprestimo(controladorEmprestimo, telaRevista, telaAmigo); TelaPrincipal telaPrincipal = new TelaPrincipal( controladorAmigo, telaRevista, telaEmprestimo, telaAmigo, telaCaixa, controladorEmprestimo, controladorRevista, controladorCaixa); while (true) { TelaBase telaSelecionada = telaPrincipal.ObterOpcao(); if (telaSelecionada == null) { break; } Console.Clear(); string opcao = telaSelecionada.ObterOpcao(); if (opcao.Equals("s", StringComparison.OrdinalIgnoreCase)) { continue; } if (((telaSelecionada is ICadastravel))) { if (opcao == "1") { telaSelecionada.InserirRegistro(); } else if (opcao == "2") { telaSelecionada.VisualizarRegistro(); Console.ReadLine(); } else if (opcao == "3") { telaSelecionada.EditarRegistro(); } else if (opcao == "4") { telaSelecionada.ExcluirRegistro(); } } else if ((!(telaSelecionada is ICadastravel))) { telaEmprestimo = (TelaEmprestimo)telaSelecionada; if (opcao == "1") { telaEmprestimo.RealizarEmprestimo(); } else if (opcao == "2") { telaEmprestimo.RegistrarDevolucao(); } else if (opcao == "3") { telaEmprestimo.TelaVisualizarEmprestimos(out opcao); if (opcao == "1") { telaEmprestimo.VisualizarEmprestimosAbertos(); } else if (opcao == "2") { telaEmprestimo.VisualizarEmprestimosPorMes(); } } } Console.Clear(); } }