public void BooksView() { Console.Clear(); var exitToken = true; while (exitToken) { Console.Clear(); PrintBooksViewMenu(); var choice = Console.ReadKey(); switch (choice.Key) { case ConsoleKey.D1: { Console.Clear(); Console.WriteLine("Вывод списка книг"); var books = BusinessService.GetBooksWithEverything(); foreach (var book in books) { PrintBookInfo(book); } PrintPressAnyBottom(); break; } case ConsoleKey.D2: { Console.Clear(); Console.WriteLine("Вывод списка книг в отфильтрованном по определенному полю виде"); PrintBookFieldSelection(); var selectedFilteringType = ConsoleExtensions.ReadInteger(Enum.GetValues(typeof(BookFilteringType)).Cast <BookFilteringType>().Cast <int>().ToList()); Console.Clear(); Console.WriteLine("Введите значение для фильтрации"); var filter = new BookFilter(); switch (selectedFilteringType) { case (int)BookFilteringType.ByName: { filter.Name = ConsoleExtensions.ReadNotEmptyString(); break; } case (int)BookFilteringType.ByRegNumber: { filter.RegNumber = ConsoleExtensions.ReadNotEmptyString(); break; } case (int)BookFilteringType.ByNumberOfPages: { filter.NumberOfPages = ConsoleExtensions.ReadInteger(); break; } case (int)BookFilteringType.ByPublicationYear: { filter.PublicationYear = ConsoleExtensions.ReadInteger(); break; } case (int)BookFilteringType.ByIsBookInLibrary: { Console.WriteLine("Введите либо {0}, либо {1}", Constants.Strings.Yes, Constants.Strings.No); filter.IsBookInLibrary = ConsoleExtensions.ReadBoolean(); break; } case (int)BookFilteringType.ByPublisherName: { filter.PublisherName = ConsoleExtensions.ReadNotEmptyString(); break; } case (int)BookFilteringType.ByAuthorName: { filter.AuthorName = ConsoleExtensions.ReadNotEmptyString(); break; } case (int)BookFilteringType.ByLastUserName: { filter.LastUserName = ConsoleExtensions.ReadNotEmptyString(); break; } } Console.Clear(); var books = BusinessService.GetFilteredBooks(filter); foreach (var book in books) { PrintBookInfo(book); } PrintPressAnyBottom(); break; } case ConsoleKey.D3: { Console.Clear(); Console.WriteLine("Вывод списка книг в отсортированном виде"); PrintBookFieldSelection(); var selectedOrderingType = ConsoleExtensions.ReadInteger(Enum.GetValues(typeof(BookFilteringType)).Cast <BookFilteringType>().Cast <int>().ToList()); Console.Clear(); Console.WriteLine("Вывести по возрастанию? (Да, Нет)"); var isAsc = ConsoleExtensions.ReadBoolean(); var books = BusinessService.GetSortedBooks((BookFilteringType)selectedOrderingType, isAsc); Console.Clear(); ; foreach (var book in books) { PrintBookInfo(book); } PrintPressAnyBottom(); break; } case ConsoleKey.D4: { Console.Clear(); Console.WriteLine("Вывод книг в алфавитном порядке, изданных после заданного года"); Console.WriteLine("Введите год:"); var selectedYear = ConsoleExtensions.ReadInteger(); var books = BusinessService.GetOrderedBooksAfterSelectedYear(selectedYear); Console.Clear(); foreach (var book in books) { PrintBookInfo(book); } PrintPressAnyBottom(); break; } case ConsoleKey.D5: { Console.Clear(); Console.WriteLine("Вывод книг находящихся в текущий момент у читателей"); var books = BusinessService.GetAlreadyTakenBooks(); foreach (var book in books) { PrintBookInfo(book); } PrintPressAnyBottom(); break; } case ConsoleKey.D6: { Console.Clear(); exitToken = false; break; } default: { Console.Clear(); break; } } } }