Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
                }
            }
        }