/// <summary> /// Method that fills the searchlistview with available books /// </summary> public void FillListViewSearchResultAvailableBooks() { searchListView.Items.Clear(); switch ((searchComboEnum)cmbxSearchBy.SelectedItem) { case searchComboEnum.AllBooks: foreach (Book b in bookService.All().Where(b => b.Copies.Where(c => c.IsLoaned == false).Count() != 0)) { ListViewItem item = new ListViewItem(new [] { Convert.ToString(b.Id), b.Isbn, b.Title, b.Author.Name, b.Copies.Where(c => c.IsLoaned == false).Count().ToString() }); searchListView.Items.Add(item); } break; case searchComboEnum.AuthorName: foreach (Book b in bookService.All().Where(book => levenAlgo.iLD(book.Author.Name, txtbxSearchInput.Text) < 60).Where(b => b.Copies.Where(c => c.IsLoaned == false).Count() != 0)) { ListViewItem item = new ListViewItem(new[] { Convert.ToString(b.Id), b.Isbn, b.Title, b.Author.Name, b.Copies.Where(c => c.IsLoaned == false).Count().ToString() }); item.Tag = b; searchListView.Items.Add(item); } break; case searchComboEnum.BookTitle: foreach (Book b in bookService.All().Where(book => levenAlgo.iLD(book.Title, txtbxSearchInput.Text) < 60).Where(b => b.Copies.Where(c => c.IsLoaned == false).Count() != 0)) { ListViewItem item = new ListViewItem(new[] { Convert.ToString(b.Id), b.Isbn, b.Title, b.Author.Name, b.Copies.Where(c => c.IsLoaned == false).Count().ToString() }); item.Tag = b; searchListView.Items.Add(item); } break; case searchComboEnum.ISBN: foreach (Book b in bookService.All().Where(book => levenAlgo.iLD(book.Isbn, txtbxSearchInput.Text) < 60).Where(b => b.Copies.Where(c => c.IsLoaned == false).Count() != 0)) { ListViewItem item = new ListViewItem(new[] { Convert.ToString(b.Id), b.Isbn, b.Title, b.Author.Name, b.Copies.Where(c => c.IsLoaned == false).Count().ToString() }); searchListView.Items.Add(item); } break; default: break; } }