/// <summary> /// Searches through the user's library for films with the same /// rating as entered by user. Range enabled. Use >7 <7 for example /// </summary> private void searchByRating() { SortableBindingList <Film> searchFilm = new SortableBindingList <Film>(); char[] searchText = searchBox.Text.ToCharArray(); int temp; try { if (searchText[0] == '>') { foreach (Film sFilm in bs) { Int32.TryParse(searchText[1].ToString(), out temp); if (sFilm.Rating > temp) { searchFilm.Add(sFilm); } } } else if (searchText[0] == '<') { foreach (Film sFilm in bs) { Int32.TryParse(searchText[1].ToString(), out temp); if (sFilm.Rating < temp) { searchFilm.Add(sFilm); } } } else { foreach (Film sFilm in bs) { Int32.TryParse(searchBox.Text, out temp); if (sFilm.Rating.Equals(temp)) { searchFilm.Add(sFilm); } } } } catch (Exception) { } dgvFilms.DataSource = searchFilm; checkSearchBoxEmpty(); }
/// <summary> /// Does an online search of film name entered into the Search Box /// Fills the data grid view with all films in Film object format /// </summary> private async void searchByName() { var movieAPI = MovieDbFactory.Create <IApiMovieRequest>().Value; int pageNumber = 1; int totalPages; int numResults = 0; ApiSearchResponse <MovieInfo> response = await movieAPI.SearchByTitleAsync(searchBox.Text, pageNumber); bs.Clear(); foreach (MovieInfo info in response.Results) { Film film = new Film(); film.Name = info.Title; film.Description = info.Overview; film.tmdbID = info.Id; film.tmdbImgUrl = info.PosterPath; film.ReleaseDate = new DateTime(info.ReleaseDate.Year, info.ReleaseDate.Month, info.ReleaseDate.Day); bs.Add(film); dgvOFilms.DataSource = bs; numResults++; numResultsLbl.Text = "Page: " + pageNumber.ToString(); } totalPages = response.TotalPages; if (numResults == 0) { MessageBox.Show("No results found"); } }
private void searchBtn_Click(object sender, EventArgs e) { SortableBindingList <Film> searchFilm = new SortableBindingList <Film>(); foreach (Film sFilm in bs) { if (sFilm.Name.Contains(searchBox.Text)) { searchFilm.Add(sFilm); } } dgvFilms.DataSource = searchFilm; }
/// <summary> /// Searches through user's library for films with film names /// that contain the strings entered into search box /// </summary> private void searchByName() { SortableBindingList <Film> searchFilm = new SortableBindingList <Film>(); foreach (Film sFilm in bs) { string nameTemp = sFilm.Name.ToUpper(); string search = searchBox.Text.ToUpper(); if (nameTemp.Contains(search)) { searchFilm.Add(sFilm); } } dgvFilms.DataSource = searchFilm; checkSearchBoxEmpty(); }
/// <summary> /// Used by other classes to add a Film /// to the list. /// </summary> /// <param name="film"></param> public void addFilm(Film film) { bs.Add(film); dgvFilms.DataSource = bs; save(); }