/// <summary> /// Remove <see cref="Book"/> from list. /// </summary> /// <param name="b"><see cref="Book"/> instance.</param> public void RemoveBook(Book b) { this.books.Remove(b); BookListStorage.RemoveFromFile(this.books); Console.WriteLine("The book is successfully remove."); Console.WriteLine(); }
/// <summary> /// Add new <see cref="Book"/> to list.. /// </summary> /// <param name="b"><see cref="Book"/> instance.</param> public void AddBook(Book b) { try { if (this.books.Find(c => (c.Author == b.Author) && (c.Name == b.Name)) != null) { throw new BookException("This book is already exist."); } else { this.books.Add(b); BookListStorage.AddToFile(b); Program.Logger.Info("The book is successfully added."); } } catch (BookException ex) { Program.Logger.Error(ex.Message); } }
/// <summary> /// Add new <see cref="Book"/> to list.. /// </summary> /// <param name="b"><see cref="Book"/> instance.</param> public void AddBook(Book b) { try { if (this.books.Find(c => (c.Author == b.Author) && (c.Name == b.Name)) != null) { throw new BookException("This book is already exist."); } else { this.books.Add(b); BookListStorage.AddToFile(b); Console.WriteLine("The book is successfully added."); Console.WriteLine(); } } catch (BookException ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// Sort list of books by tag. /// </summary> /// <param name="tag">Tag.</param> public void SortByTag(string tag) { tag = tag.ToLower(CultureInfo.CreateSpecificCulture("en-US")); List <string> tags = new List <string> { "isbn", "author", "name", "publishing", "year", "pages", "price" }; try { if (!tags.Contains(tag)) { throw new BookException("Incorrect tag."); } } catch (BookException ex) { Console.WriteLine(ex.Message); return; } var a = this.books.ToArray(); switch (tag) { case "isbn": { Array.Sort(a, Book.SortIsbn()); this.books = a.ToList(); } break; case "author": { Array.Sort(a, Book.SortAuthor()); this.books = a.ToList(); } break; case "name": { Array.Sort(a, Book.SortName()); this.books = a.ToList(); } break; case "publishing": { Array.Sort(a, Book.SortPublishing()); this.books = a.ToList(); } break; case "year": { Array.Sort(a, Book.SortYear()); this.books = a.ToList(); } break; case "pages": { Array.Sort(a, Book.SortPages()); this.books = a.ToList(); } break; case "price": { Array.Sort(a, Book.SortPrice()); this.books = a.ToList(); } break; } BookListStorage.SaveSortToFile(this.books); }
/// <summary> /// Remove <see cref="Book"/> from list. /// </summary> /// <param name="b"><see cref="Book"/> instance.</param> public void RemoveBook(Book b) { this.books.Remove(b); BookListStorage.RemoveFromFile(this.books); Program.Logger.Info("The book is successfully remove."); }