private static bool ClienteCadastrado(EmprestimoLivro emprestimo) { Console.Write("CPF do Cliente: "); var cpf = Console.ReadLine().Replace(";", "").Trim(); if (File.Exists("CLIENTE.csv")) { using (var streamReader = new StreamReader("CLIENTE.csv")) { while (!streamReader.EndOfStream) { var linha = streamReader.ReadLine().Split(';'); if (linha[1] == cpf) { emprestimo.IdCliente = long.Parse(linha[0]); return(true); } } } } Console.WriteLine("\nCliente não cadastrado em nossa biblioteca!"); Console.WriteLine("Aperte qualquer tecla para voltar ao menu . . ."); Console.ReadKey(); Console.Clear(); return(false); }
private static bool SituacaoLivro(EmprestimoLivro emprestimo) { var valido = false; Console.Write("Numero Tombo: "); if (long.TryParse(Console.ReadLine(), out var numTombo)) { emprestimo.NumeroTombo = numTombo; } if (!File.Exists("LIVRO.csv")) { Console.WriteLine("\nNenhum Livro cadastrado em nossa biblioteca!"); return(valido); } using (var streamReader = new StreamReader("LIVRO.csv")) { while (!streamReader.EndOfStream) { var linha = streamReader.ReadLine().Split(';'); if (linha[0] == emprestimo.NumeroTombo.ToString()) { valido = true; } } } if (!valido) { Console.WriteLine("\nLivro não encontrado em nossa biblioteca!"); Console.WriteLine("Aperte qualquer tecla para voltar ao menu . . ."); Console.ReadKey(); Console.Clear(); return(valido); } if (!File.Exists("EMPRESTIMO.csv")) { using (File.Create("EMPRESTIMO.csv")) { } return(valido); } using (var streamReader = new StreamReader("EMPRESTIMO.csv")) { while (!streamReader.EndOfStream) { var linha = streamReader.ReadLine().Split(';'); if (linha[1] == emprestimo.NumeroTombo.ToString() && linha[4] == "1") { valido = false; Console.WriteLine("\nLivro já está emprestado!"); Console.WriteLine("Aperte qualquer tecla para voltar ao menu . . ."); Console.ReadKey(); Console.Clear(); } } } return(valido); }
static void Main() { while (true) { Console.WriteLine("====== Menu da Biblioteca ======\n"); Console.WriteLine("1. Cadastro de Cliente\n2. Cadastro de Livro\n3. Empréstimo de Livro\n" + "4. Devolução do Livro\n5. Relatório de Empréstimos e Devoluções\n0. Sair"); Console.Write("\nDigite o número da opção que deseja: "); var op = Console.ReadLine(); Console.Clear(); switch (op) { case "1": Cliente.Cadastro(); continue; case "2": Livro.Cadastro(); continue; case "3": EmprestimoLivro.Emprestimo(); continue; case "4": DevolucaoLivro.Devolucao(); continue; case "5": Relatorio.ExibirRelatorio(); continue; case "0": Console.WriteLine("Saindo do menu"); break; default: Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("O número deve ser de 0 a 5!!\n"); Console.ResetColor(); continue; } break; } Console.WriteLine("\nPressione qualquer tecla para finalizar o programa . . ."); Console.ReadKey(); }
private static void CadastrarDataDevolucao(EmprestimoLivro emprestimo) { CultureInfo ptBR = new CultureInfo("pt-BR"); Console.Write("Data para Devolução[dd/mm/AAAA]: "); while (true) { if (!DateTime.TryParseExact(Console.ReadLine(), "d", ptBR, DateTimeStyles.None, out DateTime dDevolucao)) { Console.Write("Digite a data no formato correto [dd/mm/AAAA]: "); continue; } if (dDevolucao < DateTime.Now.Date) { Console.WriteLine("\nA Data para Devolução não pode ser menor que a data de Empréstimo!"); Console.Write("Insira uma nova data para devolução: "); continue; } emprestimo.DataDevolucao = dDevolucao; break; } }
public static void Emprestimo() { var emprestimo = new EmprestimoLivro(); Console.WriteLine("### Empréstimo ###"); if (!SituacaoLivro(emprestimo)) { return; } if (!ClienteCadastrado(emprestimo)) { return; } emprestimo.DataEmprestimo = DateTime.Now; CadastrarDataDevolucao(emprestimo); emprestimo.StatusEmprestimo = 1; ArquivarEmprestimo(emprestimo); Console.WriteLine("\nLivro Emprestado com Sucesso!!"); Console.WriteLine("Aperte qualquer tecla para voltar ao menu . . ."); Console.ReadKey(); Console.Clear(); }
private static void ArquivarEmprestimo(EmprestimoLivro emprestimo) { using (var streamWriter = new StreamWriter("EMPRESTIMO.csv", true)) { streamWriter.WriteLine(emprestimo); } }