示例#1
0
        private static void Main(string[] args)
        {
            Book[] books =
            {
                new Book("978-0-7356-6745-7", "Jeffrey Richter", "CLR via C#", "Microsoft Press",  2012, 826,  59.99),
                new Book("1678995",           "author2",         "name2",      "publishingHouse2", 2016, 500, 30.151),
                new Book("234577777",         "author3",         "name3",      "publishingHouse3", 2014, 500,  30.15),
                new Book("234577777",         "author3",         "name3",      "publishingHouse3", 2014, 500, 30.15)
            };

            Console.WriteLine(books[0].ToString("ANT"));
            Console.WriteLine(books[0].ToString("IFIANTPYPP"));
            Console.WriteLine(books[0].ToString("ANTPY"));
            Console.WriteLine(books[0].ToString("IFIANTPYPPP"));
            BookListService service = new BookListService();

            ////service.AddBook(books[0],books[1]);
            service.AddBook(books[0]);
            service.AddBook(books[1]);
            service.AddBook(books[2]);
            service.AddBook(books[3]);
            Console.WriteLine("Are equal: " + Equals(service.GetBookList()[0], service.GetBookList()[1]));
            Console.WriteLine("Are equal: " + Equals(service.GetBookList()[2], service.GetBookList()[3]));
            Console.WriteLine(service.FindBookByTag(new FinderByMaxPrice()));
            Console.WriteLine(service.FindBookByTag(new FinderByMinPrice()));
            Console.WriteLine(service.FindBookByTag(new FinderByPublishingYearAndAuthor(2016, "author3")));
            service.SortBooksByTag(new ComparerByDecPrice());
            service.ShowBookList();
            service.SortBooksByTag(new ComparerByDecPublishingYear());
            service.ShowBookList();
            service.SortBooksByTag(new ComparerByIncPrice());
            service.ShowBookList();
            service.RemoveBook(books[2]);
            service.ShowBookList();
            service.RemoveBook(1678995);
            service.ShowBookList();
            Console.WriteLine("Write to binary file");
            IBookListStorage binaryStorage = new BookListBinaryFileStorage();

            service.SetBookListToStorage(binaryStorage);
            Console.WriteLine("Read from binary file");
            BookListService newService = new BookListService();

            newService.GetBookListFromStorage(binaryStorage);
            for (int i = 0; i < newService.GetBookList().Count; i++)
            {
                Console.WriteLine(newService.GetBookList()[i]);
            }

            Console.ReadLine();
        }
示例#2
0
        public static void Main(string[] args)
        {
            BookListService bookService = new BookListService();

            bookService.AddBook(new Book("1234567891011", "Идиот", "Достоевский Ф.М", "Азбука", "2012", 700, 9.01m));
            bookService.AddBook(new Book("555534", "Доктор Живаго", "Борис Пастернак", "Азбука", "2013", 7700, 12));
            bookService.AddBook(new Book("ASDA21", "Малое собрание сочинений", "Антон Чехов", "Неизвестное", "2010", 90, 15));
            bookService.AddBook(new Book("2423DAA", "Евгений Онегин", "Александр Пушкин", "Известное", "1995", 88, 13));
            BookListBinaryFileStorage binaryFile = new BookListBinaryFileStorage(@"e:\GitHub\Training.-Spring-2018\NET.S.2018.Belyi.11\BookLibraryApplication\BinaryBookStorage");

            bookService.SaveToStorage(binaryFile);
            bookService.AddBook(new Book("2423Ddsa", "CCC2", "AFTOR2", "QWERTY", "1995", 88, 90));
            bookService.LoadFromStorage(binaryFile);
            foreach (Book b in bookService.BookList)
            {
                Console.WriteLine(b.ToString());
            }

            Console.WriteLine("\nCортировка по цене:\n");
            bookService.SortBooksListByTag(new Comparators.PriceComparer());
            foreach (Book b in bookService.BookList)
            {
                Console.WriteLine(b.ToString("ISBN", CultureInfo.InvariantCulture));
                Console.WriteLine(b.ToString("FULL", CultureInfo.InvariantCulture));
            }

            Console.WriteLine("\nCортировка по названию:\n");
            bookService.SortBooksListByTag(new Comparators.NameComparer());
            foreach (Book b in bookService.BookList)
            {
                Console.WriteLine(b.ToString());
            }

            CustomFormatProvider custom = new CustomFormatProvider();

            Console.WriteLine("\nПоиск по имени Антон Чехов:\n");
            Console.WriteLine(bookService.FindBookByTag(new Tags.TitlePredicate("Антон Чехов")).ToString("G", custom));
        }