public static void CadastrarLivro() { Livro livro = new Livro(); LivroNegocio livroNegocio = new LivroNegocio(); //Verificamos se existe algum leitor cadastrado, caso nao aja o FirstOrDefault ira retornar null if (livroNegocio.Listar().OrderBy(r => r.Codigo).LastOrDefault() != null) { //Vamos obter o ultimo codigo cadastrado, já que deixar isso pro usuario é propenso a erros livro.Codigo = livroNegocio.Listar().OrderBy(r => r.Codigo).LastOrDefault().Codigo + 1; } else { //Caso seja null vamos iniciar o codigo em 1 livro.Codigo = 1; } //Criando um novo Livro Console.Write("Digite o titulo do livro: "); livro.Titulo = Console.ReadLine(); //Adicionar o Atendente a lista de Atendentees livroNegocio.Adicionar(livro); }
static void Main(string[] args) { //Iniciarlizar(); Metodo criado para teste, sentando valores para Leitor, Livro, e Retirada var opcao = -1; while (opcao != 0) { Console.WriteLine(); Console.WriteLine("Menu Principal"); //Adicionado nessa parte para melhor visualizarmos em qual menu estamos Console.WriteLine("1 - Emprestimo e Devolução de Livro"); Console.WriteLine("2 - Pesquisar Leitor"); Console.WriteLine("3 - Leitor"); Console.WriteLine("4 - Livro"); Console.WriteLine("5 - Atendentede"); Console.WriteLine("0 - Finalizar o programa"); Console.WriteLine(); Console.Write("Escolhe uma das opções listadas acima, inserindo o numero: "); opcao = Convert.ToInt32(Console.ReadLine()); switch (opcao) { case 1: Console.WriteLine(); Console.WriteLine("1 - Emprestar livro"); Console.WriteLine("2 - Devolver Livro"); Console.WriteLine("3 - Listar Atrasados"); Console.WriteLine("0 - Voltar ao menu"); Console.WriteLine(); Console.Write("Escolhe uma das opções listadas acima, inserindo o numero: "); int opcaoEmprestimo = Convert.ToInt32(Console.ReadLine()); RetiradaNegocio retiradaNegocio = new RetiradaNegocio(); Console.WriteLine(); switch (opcaoEmprestimo) { case 1: Console.WriteLine(); RegistrarRetirada(); LeitorNegocio leitorEmprestimo = new LeitorNegocio(); LivroNegocio livroEmprestimo = new LivroNegocio(); var ultimaRetirada = retiradaNegocio.Listar().LastOrDefault(); var nomeLeitorEmprestado = leitorEmprestimo.Selecionar(ultimaRetirada.CodigoLeitor).Nome; var tituloLivroEmprestado = livroEmprestimo.Selecionar(ultimaRetirada.CodigoLivro).Titulo; Console.WriteLine(); Console.WriteLine($"Livro emprestado: {tituloLivroEmprestado}"); Console.WriteLine($"Leitor: {nomeLeitorEmprestado}"); Console.WriteLine($"Data do emprestimo: {ultimaRetirada.DataEmprestimo}"); Console.WriteLine($"Dia de devolução: {ultimaRetirada.DataLimite}"); Console.WriteLine(); break; case 2: Console.WriteLine(); Console.Write($"Digite o codigo do leitor: "); int codigoLeitor = Convert.ToInt32(Console.ReadLine()); DevolverLivro(codigoLeitor); Console.WriteLine(); break; case 3: Console.WriteLine(); ListarAtrasados(); Console.WriteLine(); break; default: break; } break; case 2: Console.WriteLine(); Console.WriteLine("1 - Pesquisar por nome"); Console.WriteLine("2 - Listar todos os leitores "); Console.WriteLine("0 - Voltar ao menu"); Console.WriteLine(); Console.Write("Escolhe uma das opções listadas acima, inserindo o numero: "); var opcaoPesqusa = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); LeitorNegocio leitorPesquisa = new LeitorNegocio(); switch (opcaoPesqusa) { case 1: Console.Write("Digite o nome do leitor: "); var nomeLeitorPesquisa = Console.ReadLine(); if (leitorPesquisa.Listar().FirstOrDefault(r => r.Nome == nomeLeitorPesquisa) != null) { Console.WriteLine(); var leitorPesquisado = leitorPesquisa.Listar().FirstOrDefault(r => r.Nome == nomeLeitorPesquisa); Console.WriteLine($"Código {leitorPesquisado.Codigo} Nome: {leitorPesquisado.Nome}"); } break; case 2: Console.WriteLine(); foreach (var cadaLeitor in leitorPesquisa.Listar()) { Console.WriteLine($"Código {cadaLeitor.Codigo} Nome: {cadaLeitor.Nome}"); } Console.WriteLine(); break; default: break; } break; case 3: var opcaoLeitor = -1; while (opcaoLeitor != 0) { Console.WriteLine(); LeitorNegocio leitorNegocio = new LeitorNegocio(); Console.WriteLine("1 - Cadastrar Leitor"); Console.WriteLine("2 - Cadastrar varios Leitor"); Console.WriteLine("3 - Atualizar cadastro do Leitor"); Console.WriteLine("4 - Listar Leitor"); Console.WriteLine("5 - Deletar Leitor"); Console.WriteLine("0 - Voltar ao menu anterior"); Console.WriteLine(); Console.Write("Escolhe uma das opções listadas acima, inserindo o numero: "); opcaoLeitor = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); switch (opcaoLeitor) { case 1: Console.WriteLine(); CadastrarLeitor(); break; case 2: Console.WriteLine(); CadastrarLeitor(); Console.Write("Digite cancelar, para voltar ao menu de Leitor ou aperte enter adicionar outro: "); string cancelar = Console.ReadLine(); while (cancelar != "cancelar") { Console.WriteLine(); CadastrarLeitor(); Console.Write("Digite cancelar, para voltar ao menu de Leitor ou aperte enter adicionar outro: "); cancelar = Console.ReadLine(); } break; case 3: Console.WriteLine(); Console.WriteLine("Digite o codigo do Leitor, ou cancelar para voltar o menu de Leitor"); int codigoLeitor = Convert.ToInt32(Console.ReadLine()); //selecionar a Leitor cadastrada para atualizar var leitor = leitorNegocio.Selecionar(codigoLeitor); AtualizarLeitor(leitor); break; case 4: Console.WriteLine(); foreach (var cadaLeitor in leitorNegocio.Listar()) { Console.WriteLine($"Código {cadaLeitor.Codigo} Nome: {cadaLeitor.Nome}"); } break; case 5: Console.WriteLine(); Console.Write("Para deletar um leitor, digite o codigo dele: "); var codigoLeitorRemover = Convert.ToInt32(Console.ReadLine()); if (leitorNegocio.Selecionar(codigoLeitorRemover) != null) { var removerLeitor = leitorNegocio.Selecionar(codigoLeitorRemover); leitorNegocio.Deletar(removerLeitor); } break; default: break; } } break; case 4: var opcaoLivro = -1; while (opcaoLivro != 0) { Console.WriteLine(); LivroNegocio livroNegocio = new LivroNegocio(); Console.WriteLine("1 - Cadastrar Livro"); Console.WriteLine("2 - Cadastrar varios Livro"); Console.WriteLine("3 - Atualizar cadastro do Livro"); Console.WriteLine("4 - Listar Livro"); Console.WriteLine("5 - Deletar Livro"); Console.WriteLine("0 - Voltar ao menu anterior"); Console.WriteLine(); Console.Write("Escolhe uma das opções listadas acima, inserindo o numero: "); opcaoLivro = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); switch (opcaoLivro) { case 1: Console.WriteLine(); CadastrarLivro(); break; case 2: Console.WriteLine(); CadastrarLivro(); Console.Write("Digite cancelar, para voltar ao menu de Livro ou aperte enter adicionar outro: "); string cancelar = Console.ReadLine(); while (cancelar != "cancelar") { CadastrarLivro(); Console.Write("Digite cancelar, para voltar ao menu de Livro ou aperte enter adicionar outro: "); cancelar = Console.ReadLine(); } break; case 3: Console.WriteLine(); Console.Write("Digite o codigo do Livro, ou cancelar para voltar o menu de Livro: "); int codigoLeitor = Convert.ToInt32(Console.ReadLine()); //selecionar a Livro cadastrada para atualizar var livro = livroNegocio.Selecionar(codigoLeitor); AtualizarLivro(livro); break; case 4: Console.WriteLine(); foreach (var cadaLeitor in livroNegocio.Listar()) { Console.WriteLine($"Código {cadaLeitor.Codigo} Titulo: {cadaLeitor.Titulo}"); } break; case 5: Console.WriteLine(); Console.Write("Para deletar um livro, digite o codigo dele: "); var codigoLivroRemover = Convert.ToInt32(Console.ReadLine()); if (livroNegocio.Selecionar(codigoLivroRemover) != null) { var removerLivro = livroNegocio.Selecionar(codigoLivroRemover); livroNegocio.Deletar(removerLivro); } break; default: break; } } break; case 5: var opcaoAtendente = -1; while (opcaoAtendente != 0) { Console.WriteLine(); AtendenteNegocio atendenteNegocio = new AtendenteNegocio(); Console.WriteLine("1 - Cadastrar Atendentede"); Console.WriteLine("2 - Cadastrar varios Atendentede"); Console.WriteLine("3 - Atualizar cadastro do Atendentede"); Console.WriteLine("4 - Listar Atendentede"); Console.WriteLine("5 - Deletar Atendentede"); Console.WriteLine("0 - Voltar ao menu anterior"); Console.WriteLine(); Console.Write("Escolhe uma das opções listadas acima, inserindo o numero: "); opcaoAtendente = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); switch (opcaoAtendente) { case 1: Console.WriteLine(); CadastrarAtendente(); break; case 2: Console.WriteLine(); CadastrarLivro(); Console.Write("Digite cancelar, para voltar ao menu de Atendente ou aperte enter adicionar outro: "); string cancelar = Console.ReadLine(); while (cancelar != "cancelar") { CadastrarAtendente(); Console.Write("Digite cancelar, para voltar ao menu de Atendente ou aperte enter adicionar outro: "); cancelar = Console.ReadLine(); } break; case 3: Console.WriteLine(); Console.WriteLine("Digite o codigo do atendente, ou cancelar para voltar o menu de atendente"); int codigoAtendente = Convert.ToInt32(Console.ReadLine()); //selecionar a atendente cadastrada para atualizar var atendente = atendenteNegocio.Selecionar(codigoAtendente); AtualizarAtendente(atendente); break; case 4: Console.WriteLine(); foreach (var cadaAtendente in atendenteNegocio.Listar()) { Console.WriteLine($"Código {cadaAtendente.Codigo} Nome: {cadaAtendente.Nome}"); } break; case 5: Console.WriteLine(); Console.Write("Para deletar um atendente digite o codigo dele: "); var codigoAtendenteRemover = Convert.ToInt32(Console.ReadLine()); if (atendenteNegocio.Selecionar(codigoAtendenteRemover) != null) { var removerLeitor = atendenteNegocio.Selecionar(codigoAtendenteRemover); atendenteNegocio.Deletar(removerLeitor); } break; default: break; } } break; default: //caso nenhuma seja atendida break; } }// Chave de fechamento do while de nosso menu principal Console.WriteLine("O programa terminou, aperte enter para fechar o console"); Console.ReadKey(); }//Fechamento do metodo Main