public static void Main(string[] args) { var bookStorage = new BookListStorage(@"H:\BookStorage.txt"); var bookService = new BookListService(bookStorage); var newBook = new Book() { Author = "Author", Cost = 20, ISBN = "346632436562", Name = "Book name", PagesNumber = 246, PublicationYear = 2000, Publisher = "Publisher name" }; Console.WriteLine(bookService.AddBook(newBook)); var booksList = bookService.GetAllBooks(); newBook = new Book() { Author = "Author2", Cost = 20, ISBN = "123632436562", Name = "Book name 2", PagesNumber = 246, PublicationYear = 2000, Publisher = "Publisher name 2" }; Console.WriteLine(bookService.AddBook(newBook)); booksList = bookService.SortBooksByTag(SearchTags.ISBN); var searchingResult = bookService.FindBooksByTag(SearchTags.ISBN, "123632436562"); var bankAccountStorage = new BankAccountsRepository(@"H:\BankAccountStorage.txt"); var bankAccountService = new BankAccountService(bankAccountStorage); var newBankAccount = new BankAccount(1, "FirstName", "LastName", 20, 0, false, BankAccountTypes.Standart, 10); Console.WriteLine(bankAccountService.AddAccount(newBankAccount)); newBankAccount = new BankAccount(2, "FirstName2", "LastName2", 22, 3, false, BankAccountTypes.Gold, 20); Console.WriteLine(bankAccountService.AddAccount(newBankAccount)); var bankAccountsList = bankAccountService.GetAllBankAccounts(); bankAccountService.TopUpInAnAccount(30, bankAccountsList.ToList()[0].AccountId); bankAccountService.DebitTheAccount(10, bankAccountsList.ToList()[1].AccountId); Console.ReadKey(); }
public ActionResult Submit(string Author, string ISBN, string Title, uint PageCount, decimal Price, int PublicationYear, string PublishingOffice) { var book = new Book() { Author = Author, Title = Title, ISBN = ISBN, PublishingOffice = PublishingOffice, PublicationYear = PublicationYear, Price = Price, PageCount = PageCount }; var bookListStorage = new BookListStorage(); var bookListService = new BookListService(bookListStorage); bookListService.Add(new List <Book>() { book }); bookListStorage.Save(bookListService.Books); ViewBag.Response = "Book added to Book List!"; return(View("AddBook")); }
static void Main(string[] args) { BookListStorage storage = new BookListStorage("file.bin"); BookListService service = new BookListService(); service.AddBook(new Book("78565121ad45q", "Author 1", "First book", "Publisher 1", 1990, 200)); service.AddBook(new Book("845dbn454545c", "Author 2", "Second Book", "Publisher 2", 1996, 5)); service.AddBook(new Book("7854dshj98985", "Author 3", "New book", "Publisher 3", 2000, 45)); ListInput(service.BookList); service.WriteBooks(storage, service.BookList); service.AddBook(new Book("84564dhbhb545", "Author 4", "Last book", "Publisher 1", 1995, 60)); ListInput(service.BookList); service.SortBooksByTag(new SortByTitleAsc()); ListInput(service.BookList); Book findedBook = service.FindBookByTag(new FindBookByTitle("Second Book")); Console.WriteLine(findedBook); Console.WriteLine(); service.ReadBooks(storage); ListInput(service.BookList); Console.ReadLine(); }
static void Main(string[] args) { try { BookListStorage bookStorage = new BookListStorage("NewStorage.bin"); BookListService bookService = new BookListService(bookStorage); bookService.AddBookToShop(new Book("978-3-16-123451-0", "Ivanov", "one", "Minsk", 2000, 1000, 100)); bookService.AddBookToShop(new Book("978-3-16-123452-1", "Petrov", "two", "Gomel", 2001, 2000, 200)); bookService.AddBookToShop(new Book("978-3-16-123453-2", "Glebov", "three", "Brest", 2002, 3000, 300)); bookService.AddBookToShop(new Book("978-3-16-123454-3", "Arkhipov", "four", "Vitebsk", 2003, 4000, 400)); var books = new List <Book>(); books.Add(bookService.FindBook(new FindBookByName("one", bookService.GetAllBooks()))); PrintBook(books); bookService.Sort(null); PrintBook(bookService.GetAllBooks()); Console.WriteLine(books[0].ToString("2", CultureInfo.CurrentCulture)); bookService.Save(); Console.ReadKey(); } catch (Exception ex) { Log.Write(ex); } }
static void Main(string[] args) { Book book = new Book("1111", "Title1", "Author1", "Publisher1", 20, 1975, 15f); var storage = new BookListStorage("ListBook.bin"); var service = new BookListService(storage); service.AddBook(book); service.AddBook(new Book("3333", "Title2", "Author2", "Publisher2", 200, 1975, 18f)); service.AddBook(new Book("5555", "Title3", "Author2", "Publisher2", 254, 1975, 18f)); service.AddBook(new Book("4444", "Title5", "Author2", "Publisher2", 2, 1975, 18f)); service.AddBook(new Book("55554", "Title2", "Author2", "Publisher2", 299, 1975, 18f)); service.AddBook(new Book("34534", "Title6", "Author2", "Publisher2", 2000, 1975, 18f)); service.AddBook(new Book("3333", "Title2", "Author6", "Publisher45", 200, 1975, 14f)); service.AddBook(new Book("5555", "Title35", "Author2", "Publisher2", 254, 1975, 18f)); service.AddBook(new Book("4444", "Title51", "Author34", "Publisher2", 2, 1975, 187f)); service.AddBook(new Book("55554", "Title2", "Author65", "Publisher453", 299, 1975, 148f)); service.AddBook(new Book("34534", "Title6", "Author211", "Publisher2", 2000, 1975, 78f)); Filter filterPage = new Filter(pages: 2); Console.WriteLine("Find book Pages = 2 : \n\r" + service.FindByTag(filterPage)); Filter filterTitle = new Filter(title: "Title3"); Console.WriteLine("Find book Title = Title3 : \n\r" + service.FindByTag(filterTitle)); Console.WriteLine("Unsort : "); var serviceList = service.GetAll(); service.Save(); service.Load(); foreach (var item in serviceList) { Console.WriteLine(item); } Console.WriteLine("Sort by ISNB:"); service.Sort(new ByISBN()); foreach (var item in serviceList) { Console.WriteLine(item); } Console.WriteLine("Sort by price:"); service.Sort(new ByPrice()); foreach (var item in serviceList) { Console.WriteLine(item); } Console.ReadKey(); }
public void AuthorTitle() { string expected = "Tolkien, LOTR"; BookListStorage bookStorage = new BookListStorage(" "); BookListService actual = new BookListService(bookStorage); Assert.AreEqual(expected, b1.AuthorTitle()); }
public void Test_Book_Print_AuthorNamePrice() { string expected = "Tolkien, LOTR, Russia, 1954"; BookListStorage bookStorage = new BookListStorage(" "); BookListService actual = new BookListService(bookStorage); Assert.AreEqual(expected, b1.AuthorTitlePubYear()); }
public void Print() { string expected = "ISBN: 123456789, AuthorName: Tolkien, Title: LOTR, Publisher: Russia, Year: 1954, Number of pages: 2000, Price: 100"; BookListStorage bookStorage = new BookListStorage(" "); BookListService actual = new BookListService(bookStorage); actual.AddBook(b1); Assert.AreEqual(expected, actual.Print()); }
/// <summary> /// Startup point of the program /// </summary> /// <param name="args">array of arguments</param> public static void Main(string[] args) { string path = AppDomain.CurrentDomain.BaseDirectory + "sdf/asdf/23!_/ / istStorage.txt"; BookListService bookListService = new BookListService(); try { bookListService.AddBook(new Book("121-12-1231-2", "Daniil", "Adventures", "ASV", 2015, 891, 900)); bookListService.AddBook(new Book("12341234421-2", "Kate", "History", "ASV", 123, 192, 901)); bookListService.AddBook(new Book("12341234421-2", "Arthur", "Sherlock Holmes", "ASV", 1242, 1009, 922)); bookListService.AddBook(new Book("12341234421-2", "Arthur", "Treasure island", "ASV", 1242, 1009, 922)); Console.WriteLine("-----BOOKS BEFORE REMOVE:\n"); foreach (Book book in bookListService) { Console.WriteLine(book); } Console.WriteLine("-----BOOKS AFTER REMOVE:\n"); bookListService.RemoveBook(new Book("12341234421-2", "Arthur", "Treasure island", "ASV", 1242, 1009, 922)); foreach (Book book in bookListService) { Console.WriteLine(book); } Console.WriteLine("-----FIND BOOK:\n"); Book bk = bookListService.FindBookByTag(book => book.CountPages == 891); Console.WriteLine(bk); Console.WriteLine("-----SORT BOOKS BY PRICE:\n"); bookListService.Sort(new BookComparer()); foreach (Book book in bookListService) { Console.WriteLine(book); } Console.WriteLine("-----SAVE BOOKS TO \"BookListStorage.txt\"\n"); var bookStorage = new BookListStorage(path); bookListService.SaveBooksToFile(bookStorage); Console.WriteLine("-----LOAD BOOKS FROM \"BookListStorage.txt\"\n"); BookListService bookListService2 = new BookListService(); bookListService2.LoadBooksFromFile(bookStorage); foreach (Book book in bookListService2) { Console.WriteLine(book); } } catch (Exception e) { Console.WriteLine(e.Message); } } // !Main
static void Main() { var book = new Book("Name", "Author", 2, "Genre", "Publisher"); var logger = new Logger("logger.txt"); var storage = new BookListStorage("storage", logger); var service = new BookListService(logger); service.AddBook(book); service.UploadBookList(storage); service.RemoveBook(book); var books = service.DownloadBookList(storage); }
static void Main(string[] args) { Book book0 = new Book("0-8044-2957-X", "title0", "author0", "publisher0", 2012, 10, 1.3); BookListService booksService = new BookListService(book0, book0); WriteLine("Create BookListService."); DisplayBooks(booksService.Books); booksService.AddBook(new Book("0-8044-2957-x", "title1", "author1", "publisher1", 2018, 150, 2.3)); booksService.AddBook(new Book("0-684-84328-5", "title2", "author2", "publisher2", 2018, 150, 6.3)); booksService.AddBook(new Book("ISBN: 0-8044-2957-X", "title3", "author3", "publisher3", 2018, 150, 5.7)); booksService.AddBook(new Book("8090273416", "title4", "author4", "publisher4", 2018, 150, 3.2)); booksService.AddBook(new Book(" 0-8044-2957-X", "title5", "author5", "publisher5", 2018, 150, 4.1)); WriteLine("Add some books."); DisplayBooks(booksService.Books); booksService.SortBooks(new PriceComparator()); WriteLine("Sort books by price."); DisplayBooks(booksService.Books); WriteLine("Save books to file \"books\".bin."); BookListStorage storage = new BookListStorage("books.bin"); booksService.SaveBooks(storage); WriteLine("Clear list of books."); booksService = new BookListService(); DisplayBooks(booksService.Books); booksService.LoadBooks(storage); WriteLine("Load books from file."); DisplayBooks(booksService.Books); var finder = new BookFinderByPriceRange(1.0, 5.0); WriteLine("Books with price from 1.0 to 5.0."); DisplayBooks(booksService.FindBookByTag(finder)); ReadKey(); }
static void Main(string[] args) { var bookListStorage = BookListStorage.GetInstance(); var books = bookListStorage.LoadDataFromFile(); var bookListService = new BookListService(books); foreach (var book in bookListService.SortBooksByPrice()) { Console.WriteLine(book); Console.WriteLine("--------------------------------"); } Console.ReadKey(); }
public void Add() { BookListStorage bookStorage = new BookListStorage(" "); List <Book> expected = new List <Book>(); expected.Add(b1); expected.Add(b2); expected.Add(b3); BookListService actual = new BookListService(bookStorage); actual.AddBook(b1); actual.AddBook(b2); actual.AddBook(b3); Assert.AreEqual(expected, actual.GetList); }
static void Main(string[] args) { var bookList = new BookListService <Book>(); ReadFromFile("BooksInput.txt", bookList); Console.WriteLine("\n********** Reading from the file **********"); Print(bookList); bookList.SortBooksByTag(new IncreasingSortByTitle()); Console.WriteLine("********** Increasing sort by the title **********"); Print(bookList); bookList.SortBooksByTag(new DecreasingSortByPagesNumber()); Console.WriteLine("********** Decreasing sort by the pages number **********"); Print(bookList); bookList.Remove(bookList[2]); Console.WriteLine("********** Removing from BookList **********"); Print(bookList); var criteria = new Book(language: "russian"); Comparison <Book> comp = CompareByLanguage; Console.WriteLine("********** Finding books with the {0} language **********", criteria.Language); var result = bookList.FindBookByTag(comp, criteria); foreach (var book in result) { Console.WriteLine(); Console.WriteLine(book); } Console.WriteLine(); BookListStorage.Save(new BinaryWriter(File.Open("BooksOutput.txt", FileMode.OpenOrCreate, FileAccess.Write)), bookList); Console.ReadKey(); }
static void Main(string[] args) { Book b1 = new Book("1111111111111", "Max", "Dark1", "Minsk", 1980, 100, 100); Book b2 = new Book("2222222222222", "Max", "Dark1", "Minsk", 1980, 100, 100); Book b3 = new Book("3333333333333", "Max", "Dark1", "Minsk", 1980, 100, 100); BookListService service = new BookListService(); service.AddBook(b2); service.AddBook(b1); service.AddBook(b3); Console.WriteLine(service.PrintBooks()); Console.WriteLine("_______________________________________________________"); service.SortBooksByTag(); Console.WriteLine(service.PrintBooks()); Console.ReadLine(); BookListStorage storage = new BookListStorage(service.ListBooks); storage.SaveBooks("Books"); BookListStorage storage2 = new BookListStorage(new List <Book>()); storage2.LoadBooks("Books"); Console.WriteLine(service.FindBookByTag("1111111111111", BookListService.Crit.isbn)); Console.ReadLine(); }
/// <summary> /// Constructor takes books data storage and logger /// </summary> /// <param name="storage"></param> /// <param name="logger"></param> public BookListService(BookListStorage storage, LogService logger) { _bookListStorage = storage; _books = _bookListStorage.LoadBooks(); _logger = logger; }
static void Main(string[] args) { //Create some books var book1 = new Book("Dune", "Frank Herbert", "978-8-37-150211-8", "Chilton Books", 1965, 412, 12.67); var book2 = new Book("Witcher. The Last Wish", "Andrzej Sapkowski", "978-7-15-257954-1", "Gollancz", 2007, 514, 15.44); var book3 = new Book("Roadside Picnic", "Arkady and Boris Strugatsky", "978-0-02-615170-2", "Macmillan", 1972, 722, 11.78); //Add books to List List <Book> books = new List <Book> { book1, book2 }; Console.WriteLine("\nNew list of books.\n"); foreach (var book in books) { Console.WriteLine(book); } //Creating service working with book list var service = new BookListService(books); Console.WriteLine("\nNew service was created.\n"); //Add third book to List by service service.AddBook(book3); Console.WriteLine("\nAdded new book by service.\n"); foreach (var book in service.GetBooks()) { Console.WriteLine(book); } //Create a copy of existing book var book4 = new Book("Roadside Picnic", "Arkady and Boris Strugatsky", "978-0-02-615170-2", "Macmillan", 1972, 722, 11.78); //Trying to add existing book to list try { Console.WriteLine("\nTrying to add existing book\n"); service.AddBook(book4); } catch (Exception ex) { Console.WriteLine(ex.Message); } //Trying to add null book to list Book book5 = null; try { Console.WriteLine("\nTrying to add null book\n"); service.AddBook(book5); } catch (Exception ex) { Console.WriteLine(ex.Message); } //Trying to remove existing book from list service.RemoveBook(book1); Console.WriteLine("\nRemove book by service.\n"); foreach (var book in service.GetBooks()) { Console.WriteLine(book); } //Trying to remove existing book from list twice try { Console.WriteLine("\nTrying remove existing book from list twice\n"); service.RemoveBook(book1); } catch (Exception ex) { Console.WriteLine(ex.Message); } //Added book1 again by service service.AddBook(book1); //Existing list of books Console.WriteLine("\nExisting list of books.\n"); foreach (var book in service.GetBooks()) { Console.WriteLine(book); } Console.WriteLine("\nFind a book with author Andrzej Sapkowski:"); Console.WriteLine(service.FindBookByTag(new AuthorPredicate())); Console.WriteLine("\nFind a book with price less than 15:"); Console.WriteLine(service.FindBookByTag(new PricePredicate())); service.SortBooksByTag(new PublishYearComparer()); Console.WriteLine("\nBooks ordered by date sort:"); foreach (var book in service.GetBooks()) { Console.WriteLine(book); } //filepath is at app.config string storageFilepath = ConfigurationSettings.AppSettings["filepath"]; var storage = new BookListStorage(storageFilepath); storage.Save(service.GetBooks()); //Creating other service to load books from binary file List <Book> books2 = new List <Book>(); var service2 = new BookListService(books2); service2.LoadBooksFromStorage(storage); Console.WriteLine("\nBooks loaded by other service from binary storage:"); foreach (var book in service2.GetBooks()) { Console.WriteLine(book); } Console.ReadLine(); }
private static void Main() { #region Configure NLog Targets for output programmatically var config = new NLog.Config.LoggingConfiguration(); var logfile = new NLog.Targets.FileTarget() { FileName = "file.txt", Name = "logfile" }; var logconsole = new NLog.Targets.ConsoleTarget() { Name = "logconsole" }; config.LoggingRules.Add(new NLog.Config.LoggingRule("*", LogLevel.Trace, logconsole)); config.LoggingRules.Add(new NLog.Config.LoggingRule("*", LogLevel.Debug, logfile)); NLog.LogManager.Configuration = config; var nLogger = new NLogger(); #endregion #region Creation book instances and adding them to SortedSet var books = new SortedSet <Book> { new Book( "978-0-672-33690-4", "Bart De Smet", "C# 5.0 Unleashed", "SAMS Publishing", 2013, 1671, 51.29m), new Book( "978-0-735-68320-4", "Gary McLean Hall", "Adaptive Code via C#", "Microsoft Press", 2014, 403, 35.01m), new Book( "978-1-617-29134-0", "Jon Skeet", "C# in Depth, 3rd Edition", "Manning", 2015, 605, 39.73m), new Book( "978-1-491-98765-0", "Joseph Albahari & Веn Albahari", "C# 7.0 in a Nutshell: The Definitive Reference", "O'Reilly", 2018, 1140, 60.53m) }; Console.WriteLine($"*** SortedSet ordered alphabetically by title ***\n"); foreach (var book in books) { Console.WriteLine(book); } #endregion #region Book class testing Console.WriteLine($"\n*** Book testing ***\n"); Console.WriteLine($"\n--- Equals testing ---\n"); var bookAlbahari2 = new Book("978-1-491-98765-0", "Joseph Albahari & Веn Albahari", "C# 7.0 in a Nutshell: The Definitive Reference", "O'Reilly", 2018, 1140, 60.53m); foreach (var book in books) { if (book.Equals(bookAlbahari2)) { Console.WriteLine($"{book.ToString()}\n{bookAlbahari2.ToString()}\nThe same books"); } } Console.WriteLine($"\n--- GetHashCode testing ---\n"); foreach (var book in books) { Console.WriteLine($"Hash - \'{book.GetHashCode()}' --- {book.ToString("AT")}"); } Console.WriteLine($"\nHash - \'{bookAlbahari2.GetHashCode()}' --- {bookAlbahari2.ToString("AT")}"); #endregion #region Book List Service testing Console.WriteLine($"\n*** Book Service testing ***\n"); var bookService = new BookListService(books, nLogger); Console.WriteLine($"\n--- Add book (title Mumu) ---\n"); var anotherBook = new Book("978-1-555-11223-0", "Turgenev", "Mumu", "Unknown", 1967, 200, 10m); bookService.AddBook(anotherBook); foreach (var book in bookService.Books) { Console.WriteLine(book); } Console.WriteLine($"\n--- Trying to add null to book list ---\n"); try { bookService.AddBook(null); } catch (ArgumentNullException ex) { bookService.Logger.Error(ex.Message); } Console.WriteLine($"\n--- Trying to add book which is already exists ---\n"); try { bookService.AddBook(anotherBook); } catch (BookAlreadyExistException ex) { bookService.Logger.Error(ex.Message); } Console.WriteLine($"\n--- Find book by tag (Publisher = Manning) ---\n"); var publisherPredicate = new PublisherPredicate { Publisher = "Manning" }; var searchBook = bookService.FindBookByTag(publisherPredicate); Console.WriteLine(searchBook); Console.WriteLine($"\n--- Sort book by tag (by PublishingYear, ascending) ---\n"); bookService.SortBooksByTag(new YearComparer()); foreach (var book in bookService.Books) { Console.WriteLine(book); } Console.WriteLine($"\n--- Remove book (title = Mumu) ---\n"); bookService.RemoveBook(anotherBook); foreach (var book in bookService.Books) { Console.WriteLine(book); } Console.WriteLine($"\n--- Remove book (title = Mumu) ---\n"); #endregion #region Book Storage testing Console.WriteLine($"\n*** Book Storage testing ***\n"); Console.WriteLine($"\n--- Saving list of books to the storage ---\n"); string path = @"storage.txt"; var storage = new BookListStorage(path); bookService.SaveInStorage(storage); Console.WriteLine($"\n--- Loading books from the storage ---\n"); bookService.LoadFromStorage(storage); foreach (var book in bookService.Books) { Console.WriteLine(book); } #endregion }
static void Main(string[] args) { Book firstBook = new Book("Tolstoy", "War And Peace", 1869, "Historical Novel"); Book secondBook = new Book("tolstoy", "war And peace", 1869, "historical novel"); Book thirdBook = firstBook; Book fourthBook = new Book("Tolstoy", "Anna Karenina", 1873, "Novel"); Book fifthBook = new Book("Vonnegut ", "Slaughterhouse Five", 1969, "Satirical Novel"); Console.WriteLine($"{firstBook.ToString()} equals"); Console.WriteLine($"{secondBook.ToString()}"); Console.WriteLine(firstBook.Equals(secondBook)); Console.WriteLine($"{firstBook.ToString()} equals"); Console.WriteLine($"{ thirdBook.ToString()}"); Console.WriteLine(firstBook.Equals(thirdBook)); Console.WriteLine($"{firstBook.ToString()} equals"); Console.WriteLine($"{ fourthBook.ToString()}"); Console.WriteLine(firstBook.Equals(fourthBook)); Console.WriteLine($"{firstBook.ToString()} compare to"); Console.WriteLine($"{ secondBook.ToString()}"); Console.WriteLine(firstBook.CompareTo(secondBook)); Console.WriteLine($"{firstBook.ToString()} compare to"); Console.WriteLine($"{ thirdBook.ToString()}"); Console.WriteLine(firstBook.CompareTo(thirdBook)); Console.WriteLine($"{firstBook.ToString()} compare to"); Console.WriteLine($"{ fourthBook.ToString()}"); Console.WriteLine(firstBook.CompareTo(fourthBook)); Console.WriteLine($"{fifthBook.ToString()} compare to"); Console.WriteLine($"{ fourthBook.ToString()}"); Console.WriteLine(fifthBook.CompareTo(fourthBook)); Console.WriteLine($"first {firstBook.GetHashCode()}"); Console.WriteLine($"second {secondBook.GetHashCode()}"); Console.WriteLine($"third {thirdBook.GetHashCode()}"); Console.WriteLine($"fourth {fourthBook.GetHashCode()}"); Console.WriteLine($"fifth {fifthBook.GetHashCode()}"); BookListService bookList = new BookListService(); bookList.AddBook(firstBook); bookList.AddBook(fourthBook); bookList.AddBook(fifthBook); Console.WriteLine(); bookList.RemoveBook(firstBook); bookList.AddBook(firstBook); Console.WriteLine(); Console.WriteLine("FindBookByTag"); Console.WriteLine(bookList.FindBookByTag(x => x.Author == "Tolstoy")); Console.WriteLine(bookList.FindBookByTag(x => x.Genre.Contains("Satirical"))); Console.WriteLine(bookList.FindBookByTag(x => x.Year < 2000)); Console.WriteLine(); Console.WriteLine("SortByTitle"); bookList.SortBooksByTag((x, y) => x.Title.CompareTo(y.Title)); BookListStorage storage = new BookListStorage("booklist.bin"); bookList.Save(storage); Console.WriteLine(); Console.WriteLine("SortByYear"); bookList.SortBooksByTag((x, y) => x.Year.CompareTo(y.Year)); bookList.Save(storage); Console.WriteLine(); Console.WriteLine("SortByGenre"); bookList.SortBooksByTag((x, y) => x.Genre.CompareTo(y.Genre)); bookList.Save(storage); BookListService secondBookList = new BookListService(); secondBookList.Load(storage); Console.WriteLine($"From storage {secondBookList.FindBookByTag(x => x.Year < 2000)}"); StorageBinarySerializer serializedStorage = new StorageBinarySerializer("booklistserialized.bin"); bookList.Save(serializedStorage); BookListService thirdBookList = new BookListService(); thirdBookList.Load(serializedStorage); Console.WriteLine($"From serialized storage {secondBookList.FindBookByTag(x => x.Genre.Contains("Satirical"))}"); StorageXML xmlStorage = new StorageXML("booklistxml.xml"); bookList.Save(xmlStorage); BookListService fourthBookList = new BookListService(); fourthBookList.Load(xmlStorage); Console.WriteLine($"From xml storage {secondBookList.FindBookByTag(x => x.Author == "Tolstoy")}"); Console.ReadLine(); }
public static void Main(string[] args) { // Setup logger var config = new LoggingConfiguration(); var fileTarget = new FileTarget("filetarget") { FileName = "${basedir}/BookingSystem.log", Layout = "[${level}] [${longdate}] --- ${message}" }; config.AddTarget(fileTarget); config.AddRuleForAllLevels("filetarget"); LogManager.Configuration = config; // Try to load library var library = new BookListStorage(); if (library.LoadFromDisk("library.dat")) { Console.WriteLine("Library loaded from disk!"); } else { // Fill library try { library.AddBook(new Book("123-4-56789-123-1", "Mikk", "M.NET", "MPub", 2010, 75, 15)); library.AddBook(new Book("123-4-56789-123-2", "Mikk", "M.NET", "MPub", 2013, 85, 25)); library.AddBook(new Book("123-4-56789-123-3", "Mikk", "M.NET", "MPub", 2015, 95, 35)); library.AddBook(new Book("123-4-55555-111-0", "Gravitonas", "LStar", "UPub", 2015, 75, 25)); library.AddBook(new Book("123-4-55555-333-0", "J. Richter", "CLR via C#", "UPub", 2010, 950, 50)); Console.WriteLine("Created book library:"); } catch { Console.WriteLine("Can't add book!"); } } if (library.IsEmpty) { Console.WriteLine("Library is empty!"); } else { library.PrintLibrary(Console.Out); } Console.WriteLine(); // Remove book try { library.RemoveBook("123-4-55555-111-0"); Console.WriteLine("After removing book:"); if (library.IsEmpty) { Console.WriteLine("Library is empty!"); } else { library.PrintLibrary(Console.Out); } } catch { Console.WriteLine("Cant' remove book!"); } Console.WriteLine(); // Find books by tag List <Book> books = library.FindBooksByTag(BookListService.TAG.AUTHOR, "Mikk"); Console.WriteLine("Searching books:"); if (books.Count == 0) { Console.WriteLine("No results found!"); } else { Console.WriteLine(string.Join <Book>("\n", books)); } Console.WriteLine(); // Sort books by tag library.SortBooksByTag(BookListService.TAG.ISBN); Console.WriteLine("After sorting library:"); if (library.IsEmpty) { Console.WriteLine("Library is empty!"); } else { library.PrintLibrary(Console.Out); } Console.WriteLine(); // Try to save library if (library.SaveToDisk("library.dat")) { Console.WriteLine("Library saved to disk!"); } else { Console.WriteLine("Can't save library!"); } Console.WriteLine(); }
static void Main(string[] args) { Console.WriteLine("To String Tests and equals tests:"); Book Orwell1984 = new Book(9785170801152, "Orwell", "1984", "AST", 2015, 320, 8.12M); Book BraveNewWorld = new Book(9785170800858, "Aldous Huxley", "Brave New World", "AST", 2016, 352, 7.85M); Console.WriteLine(Orwell1984); Console.WriteLine(); Console.WriteLine(BraveNewWorld); Console.WriteLine(); Console.WriteLine("Are equals this books? {0}", Orwell1984.Equals(BraveNewWorld) ? "Yes" : "No"); Book Orwell1984Copy = new Book(9785170801152, "Orwell", "1984", "AST", 2015, 320, 8.12M); Console.WriteLine("Are equals books: Orwell1984 and Orwell1984copy? {0}", Orwell1984.Equals(Orwell1984Copy) ? "Yes" : "No"); Console.WriteLine(); Console.WriteLine("Get Hash Code Tests"); Console.WriteLine("1984 and Brave New World:"); Console.WriteLine($"{Orwell1984.GetHashCode()} and {BraveNewWorld.GetHashCode()}"); Console.WriteLine("1984 and 1984Copy"); Console.WriteLine($"{Orwell1984.GetHashCode()} and {Orwell1984Copy.GetHashCode()}"); Console.WriteLine(); Console.WriteLine("Book List Storage"); BookListStorage bookListStorage = new BookListStorage("file.bin"); BookListService service = new BookListService(bookListStorage); Book ToKillMockingbird = new Book(9785170904112, "Harper Lee", "To Kill A Mockinbird", "AST", 2017, 416, 10.2M); Console.WriteLine("Attempting to add an existing book"); try { service.AddBook(Orwell1984); service.AddBook(BraveNewWorld); service.AddBook(Orwell1984Copy); } catch (BookExistsInStorageException exception) { Console.WriteLine($"Error : {exception.Message}"); } Console.WriteLine(); Console.WriteLine("Print books from storage:"); List <Book> books = service.GetAllBooks(); foreach (var book in books) { Console.WriteLine(book); } Console.WriteLine(); Console.WriteLine("Find books by author Aldous Huxley"); List <Book> findBook = service.FindBookByTag(new AuthorTags("Aldous Huxley")); foreach (var book in findBook) { Console.WriteLine(book); } Console.WriteLine(); Console.WriteLine("Sort by price. Books after sort:"); service.SortBooksByTag(new PriceCompare()); books = service.GetAllBooks(); foreach (var book in books) { Console.WriteLine(book); } Console.WriteLine(); Console.WriteLine("Attempting to delete a book that does not exist"); try { service.RemoveBook(Orwell1984); service.RemoveBook(ToKillMockingbird); } catch (BookIsNotInStorageException exception) { Console.WriteLine($"Error : {exception.Message}"); } Console.WriteLine(); Console.WriteLine("Orwell1984 book remove"); Console.WriteLine("Books after remove:"); books = service.GetAllBooks(); foreach (var book in books) { Console.WriteLine(book); } Console.ReadLine(); }