static void Main(string[] args)
        {
            var path = "Books.txt";
            var serialize_path = "Books_serialize.txt";
            var xml_path = "Books_xml.xml";
            var l2xml_path = "Books_l2xml.xml";
           // IRepository<Book> rep = new BookRepository(path);
           // IRepository<Book> rep = new SerializeRepository(serialize_path);
            //IRepository<Book> rep = new XMLRepository(xml_path);
            IRepository<Book> rep = new Linq2XmlRepository(l2xml_path);
            var bookService = new BookListService(rep);
            Book[] books =  { new Book("Albahari",@"C# in Nutshell",1,"ru"),                         
                             new Book("Esposito",@"ASP .NET MVC 4",1,"ru"),
                                 new Book("Albahari",@"C# in Nutshell",1,"en"),
                             new Book("Фримен",@"Паттерны проектирования",1,"ru")
                            };
            foreach (var e in books)
            {
                bookService.AddBook(e);
            }
            Console.WriteLine("Test Exception on adding");
            var b = new Book("Esposito", @"ASP .NET MVC 4", 1, "ru");
            try
            {
                bookService.AddBook(b);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            Console.WriteLine("Test finding the book");
            var f = bookService.FindByTag(x => x.Author == "Esposito");
            Console.WriteLine(f);

            Console.WriteLine("Test sorting");
            var books_1 = bookService.SortBooksByTag(x => x.Author);
            foreach (var e in books_1)
            {
                Console.WriteLine(e);
            }

            bookService.RemoveBook(f);
            try {
                bookService.RemoveBook(f); 
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }


        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            FileBookRepository fileBookRepository = new FileBookRepository("file");
            BookListService bls = new BookListService(fileBookRepository);
            Console.WriteLine("Исходный список книг:");
            PrintListBooks(fileBookRepository.GetList().ToList());
            Book book = new Book("Льюис Кэрролл", "Алиса в Стране чудес", 237, 1865, "Сказка");

            Console.WriteLine("Пытаемся добавить книгу");
            PrintBook(book);
            try
            {
                bls.AddBook(book);
                Console.WriteLine("Книга успешно добавлена");
            }
            catch (Exception e)
            {
                Console.WriteLine("Ошибка: {0}\n", e.Message);
            }

            Console.WriteLine("Пытаемся удалить книгу");
            try
            {
                bls.RemoveBook(book);
                Console.WriteLine("Книга успешно удалена");
            }
            catch (Exception e)
            {
                Console.WriteLine("Ошибка: {0}\n", e.Message);
            }
            Console.WriteLine();

            Console.WriteLine("Сохраняем список в файл и читаем из него");
            bls.Save();
            PrintListBooks(fileBookRepository.GetList().ToList());

            Console.WriteLine("Снова пытаемся удалить книгу");
            try
            {
                bls.RemoveBook(book);
                Console.WriteLine("Книга успешно удалена");
            }
            catch (Exception e)
            {
                Console.WriteLine("Ошибка: {0}\n", e.Message);
            }

            Console.WriteLine("Пытаемся найти удаленную книгу по названию \"Алиса в Стране чудес\"");
            Book seaarchResult = bls.FindBook(b => b.Title == "Алиса в Стране чудес");
            if (seaarchResult == null)
            {
                Console.WriteLine("Книга не найдена");
            }
            else
            {
                Console.WriteLine("Книга найдена");
                PrintBook(seaarchResult);
            }
            Console.WriteLine();

            Console.WriteLine("Добавляем удаленную книгу и свнова пытаеся ее найти");
            bls.AddBook(book);
            seaarchResult = bls.FindBook(b => b.Title == "Алиса в Стране чудес");
            if (seaarchResult == null)
            {
                Console.WriteLine("Книга не найдена");
            }
            else
            {
                Console.WriteLine("Книга найдена\n");
                PrintBook(seaarchResult);
            }
            bls.Save();
            Console.WriteLine();
            Console.WriteLine("Полученный список");
            PrintListBooks(fileBookRepository.GetList().ToList());

            Console.WriteLine("Сортировка книг по автору");
            bls.SortBooks((a, b) => string.Compare(a.Author, b.Author));
            bls.Save();
            PrintListBooks(fileBookRepository.GetList().ToList());

            Console.WriteLine("Сортировка книг по названию");
            bls.SortBooks((a, b) => string.Compare(a.Title, b.Title));
            bls.Save();
            PrintListBooks(fileBookRepository.GetList().ToList());
            MakeTestFile("file");
            Console.ReadKey();
        }
Exemplo n.º 3
0
 private static void MakeTestFile(string path)
 {
     if (File.Exists(path))
         File.Delete(path);
     BookListService bls = new BookListService(new FileBookRepository(path));
     Book toAdd = new Book("Антуан де Сент-Экзюпери", "Маленький принц", 54, 1943, "Сказка");
     bls.AddBook(toAdd);
     toAdd = new Book("Макс Фрай", "Лабиринт Менина", 316, 2003, "Фэнтези");
     bls.AddBook(toAdd);
     toAdd = new Book("Льюис Кэрролл", "Алиса в Стране чудес", 237, 1865, "Сказка");
     bls.AddBook(toAdd);
     toAdd = new Book("Виталий Зыков", "Безымянный раб", 609, 2004, "Фэнтези");
     bls.AddBook(toAdd);
     bls.Save();
 }