} //Для сортировки public HomeViewModel(MainViewModel mainVM, int _userID) //Конструктор { ChoiceGenre = "Жанр"; Choice = "умолчанию"; this.mainVM = mainVM; AllBooks = Get_allBooks(); t_userID = _userID; Sort_books = new RelayCommand(o => { switch (Choice) { case "умолчанию": AllBooks = Get_allBooks(); break; case "названию (A->Я)": AllBooks = Sort_Books_ByName_asc(); break; case "названию (Я->А)": AllBooks = Sort_Books_ByName_desc(); break; case "жанру (A->Я)": AllBooks = Sort_Books_ByGenre_asc(); break; case "жанру (Я->А)": AllBooks = Sort_Books_ByGenre_desc(); break; case "автору (A->Я)": AllBooks = Sort_Books_ByAuthor_asc(); break; case "автору (Я->А)": AllBooks = Sort_Books_ByAuthor_desc(); break; } }); Search_book = new RelayCommand(o => { if (IsValid) { //=====================Все поля заполнены if ((BookName != "") && (AuthorFIO != "") && (ChoiceGenre != "Жанр")) { BookName = BookName.Trim(); string[] tempBName = BookName.Split(' '); AuthorFIO = AuthorFIO.Trim(); string[] tempAFIO = AuthorFIO.Split(' '); AllBooks = new ObservableCollection <Books>(db.GetDataList().Where(b => b.BookGenre.ToLower() == ChoiceGenre.ToLower() && SearchName(tempBName, b) && SearchFIO(tempAFIO, b)).ToList()); if (AllBooks.Count == 0) { MessageBox.Show("Нет ни одного результата по вашему запросу!", "Поиск"); AllBooks = Get_allBooks(); } } else { //=====================Только название и ФИО if ((BookName != "") && (AuthorFIO != "")) { BookName = BookName.Trim(); string[] tempBName = BookName.Split(' '); AuthorFIO = AuthorFIO.Trim(); string[] tempAFIO = AuthorFIO.Split(' '); AllBooks = new ObservableCollection <Books>(db.GetDataList().Where(b => SearchName(tempBName, b) && SearchFIO(tempAFIO, b)).ToList()); if (AllBooks.Count == 0) { MessageBox.Show("Нет ни одного результата по вашему запросу!", "Поиск"); AllBooks = Get_allBooks(); } } else { //=====================Только название и жанр if ((BookName != "") && (ChoiceGenre != "Жанр")) { BookName = BookName.Trim(); string[] tempBName = BookName.Split(' '); AllBooks = new ObservableCollection <Books>(db.GetDataList().Where(b => b.BookGenre.ToLower() == ChoiceGenre.ToLower() && SearchName(tempBName, b)).ToList()); if (AllBooks.Count == 0) { MessageBox.Show("Нет ни одного результата по вашему запросу!", "Поиск"); AllBooks = Get_allBooks(); } } else { //=====================Только название if (BookName != "") { BookName = BookName.Trim(); string[] tempBName = BookName.Split(' '); AllBooks = new ObservableCollection <Books>(db.GetDataList().Where(b => SearchName(tempBName, b)).ToList()); if (AllBooks.Count == 0) { MessageBox.Show("Нет ни одного результата по вашему запросу!", "Поиск"); AllBooks = Get_allBooks(); } } else { MessageBox.Show("Строка поиска по названию книги пуста!", "Поиск"); AllBooks = Get_allBooks(); } } } } } else { System.Windows.MessageBox.Show("Неккоректные данные!", "Поиск"); } }); ResetSearch = new RelayCommand(o => { AllBooks = Get_allBooks(); ChoiceGenre = "Жанр"; Choice = "умолчанию"; BookName = ""; AuthorFIO = ""; }); }