public void TestInitialize() { livro1 = new Book { Title = "Java How to Program", AuthorName = "Deitel & Deitel", EditionYear = 2007 }; livro2 = new Book { Title = "Patterns of Enterprise Application Architecture", AuthorName = "Martin Fowler", EditionYear = 2002 }; livro3 = new Book { Title = "Head First Design Patterns", AuthorName = "Elisabeth Freeman", EditionYear = 2004 }; livro4 = new Book { Title = "Internet & World Wide Web: How to Program", AuthorName = "Deitel & Deitel", EditionYear = 2007 }; service.AddBook(livro1); service.AddBook(livro2); service.AddBook(livro3); service.AddBook(livro4); }
static void Main(string[] args) { char option = '0'; bool nao_sair = true; while (nao_sair) { switch (option) { case '0': // Inicio Console.WriteLine("Informe as seguintes opções"); Console.WriteLine("1 - Adicionar livro"); Console.WriteLine("2 - Ordernar livros"); Console.WriteLine("3 - Limpar livros"); Console.WriteLine("4 - Sair"); option = Console.ReadKey(true).KeyChar; Console.Clear(); break; case '1': // Adicionar livro option = '0'; Console.Write("Informe o titulo: "); string titulo = Console.ReadLine(); Console.Write("Informe o autor: "); string autor = Console.ReadLine(); Console.Write("Informe o ano: "); string anoChar = Console.ReadLine(); int ano; if (!Int32.TryParse(anoChar, out ano)) { Console.Write("Somente números no ano"); break; } service.AddBook(titulo, autor, ano); Console.Write("Livro adicionado"); Console.ReadKey(true); Console.Clear(); break; case '2': // Ordenar option = '0'; try { string rules = ConfigurationManager.AppSettings["rules"]; if (String.IsNullOrEmpty(rules)) { Console.Write("Configuração da regra de classificação não encontrada"); break; } var rulesSplit = rules.Split('|'); var ordered = service.Order(rulesSplit); int i = 1; foreach (var item in ordered) { Console.WriteLine($"{i++}°"); Console.WriteLine($"Titulo: {item.Title}"); Console.WriteLine($"Autor: {item.AuthorName}"); Console.WriteLine($"Edição: {item.EditionYear}"); } Console.WriteLine(); Console.WriteLine("Pressione qualquer tecla para continuar"); Console.ReadKey(true); } catch (OrderException ex) { Console.WriteLine($"Error: {ex.Message}"); Console.WriteLine("Pressione qualquer tecla para continuar"); Console.ReadKey(true); } Console.Clear(); break; case '3': // Limpar livros option = '0'; service.Clear(); Console.Clear(); break; case '4': // Sair nao_sair = false; break; default: option = '0'; Console.WriteLine("Opção inválida"); Console.ReadKey(true); Console.Clear(); break; } } }