private async Task <NeoModels.Movie> ApiMovieAsync(string searchQuery) { ApiSearchResponse <MovieInfo> response = await movieAPI.SearchByTitleAsync(searchQuery); MovieInfo info = response.Results[0]; ApiQueryResponse <DM.MovieApi.MovieDb.Movies.Movie> movieinfo = await movieAPI.FindByIdAsync(info.Id); ApiQueryResponse <DM.MovieApi.MovieDb.Movies.MovieCredit> credits = await movieAPI.GetCreditsAsync(info.Id); NeoModels.Movie movie = new NeoModels.Movie(movieinfo.Item, credits.Item); movie.Title = movie.Title.Replace(':', '-'); String poster = "http://image.tmdb.org/t/p/w342/" + movie.Poster; StorageFolder folder = ApplicationData.Current.LocalFolder; string appPath = folder.Path; appPath += "\\"; appPath += movie.Title; appPath += ".jpg"; await downloadImage(new Uri(poster), appPath); movie.Poster = appPath; return(movie); }
private async void RefreshButton_Click(object sender, RoutedEventArgs e) { Intro.Visibility = Visibility.Collapsed; NeoModels.Movie async = await getSuggestionsAsync(); control.IsTapEnabled = true; }
private void control_Tapped(object sender, TappedRoutedEventArgs e) { int index = control.SelectedIndex; if (ShouldAdd[index]) { AddToCheckBox.IsChecked = true; } else { AddToCheckBox.IsChecked = false; } NeoModels.Movie selectedMovie = (NeoModels.Movie)indicator.SelectedItem; if (selectedMovie == null) { return; } TitleTextblock.Text = selectedMovie.Title; YearTextblock.Text = selectedMovie.Year.ToString(); PlotTextblock.Text = selectedMovie.Overview; GenresTextblock.Text = String.Join(",", selectedMovie.Genres); DirectorsTextblock.Text = String.Join(",", selectedMovie.Directors); ActorsTextblock.Text = String.Join(",", selectedMovie.Actors); DirectorsTextblockHolder.Text = "Directors:"; ActorsTextblockHolder.Text = "Actors:"; }
private void MoviesList_SelectionChanged(object sender, SelectionChangedEventArgs e) { AddButton.IsEnabled = false; MovieBox.NeoModels.Movie selected = (MovieBox.NeoModels.Movie)MoviesList.SelectedItem; txtYear.Text = ""; txtDirectors.Text = ""; txtGenres.Text = ""; txtPlot.Text = ""; if (selected == null && moviesPath.Count == 0) { txtTitle.Text = ""; MetadataButton.IsEnabled = false; AddButton.IsEnabled = false; lblAlert.Text = "All movies have been imported!"; BackBorder.Opacity = 0; return; } else if (selected == null) { return; } if (selected.Title == null) { return; } txtTitle.Text = selected.Title; }
private void AddButton_Click(object sender, RoutedEventArgs e) { NeoSingleton._connect(); NeoSingleton._addMovie(addMovie); MovieBox.NeoModels.Movie movie = (MovieBox.NeoModels.Movie)MoviesList.SelectedItem; movieList.Instance.addMovie(addMovie); moviesPath.Remove(movie); }
private void initializeMovies() { foreach (String obj in files) { String movieTitle = Path.GetFileName(obj); movieTitle = movieTitle.Remove(movieTitle.Length - 4); MovieBox.NeoModels.Movie movie = new MovieBox.NeoModels.Movie(); movie.Title = movieTitle; movie.Path = obj; moviesPath.Add(movie); } }
private async void btnMedatada_Click(object sender, RoutedEventArgs e) { String separator = ","; if (string.IsNullOrWhiteSpace(txtTitle.Text)) { return; } String movieTitle = txtTitle.Text; ProgressMeter.Visibility = Visibility.Visible; ProgressMeter.IsActive = true; try { addMovie = await ApiMovieAsync(movieTitle); lblAlert.Text = ""; } catch (Exception) { lblAlert.Text = "Metadata not found, check your title!"; ProgressMeter.Visibility = Visibility.Collapsed; ProgressMeter.IsActive = false; return; } txtTitle.Text = addMovie.Title; txtYear.Text = addMovie.Year.ToString(); txtRuntime.Text = addMovie.Runtime.ToString(); txtGenres.Text = String.Join(separator, addMovie.Genres); txtDirectors.Text = String.Join(separator, addMovie.Directors); txtWriters.Text = String.Join(separator, addMovie.Writers); txtActors.Text = String.Join(separator, addMovie.Actors); txtPlot.Text = addMovie.Overview; Uri imageUri = new Uri(addMovie.Poster, UriKind.Absolute); BitmapImage imageBitmap = new BitmapImage(imageUri); imgPoster.Source = imageBitmap; btnPath.IsEnabled = true; ProgressMeter.Visibility = Visibility.Collapsed; ProgressMeter.IsActive = false; }
private async void MetadataButton_Click(object sender, RoutedEventArgs e) { String separator = ","; if (string.IsNullOrWhiteSpace(txtTitle.Text)) { return; } if (moviesPath.Count == 0) { return; } ProgressMeter.Visibility = Visibility.Visible; ProgressMeter.IsActive = true; String movieTitle = txtTitle.Text; try { addMovie = await ApiMovieAsync(movieTitle); addMovie.Path = ((MovieBox.NeoModels.Movie)MoviesList.SelectedItem).Path; lblAlert.Text = ""; } catch (Exception) { lblAlert.Text = "Metadata not found, check your title!"; ProgressMeter.Visibility = Visibility.Collapsed; ProgressMeter.IsActive = false; return; } AddButton.IsEnabled = true; txtTitle.Text = addMovie.Title; txtYear.Text = addMovie.Year.ToString(); txtGenres.Text = String.Join(separator, addMovie.Genres); txtDirectors.Text = String.Join(separator, addMovie.Directors); txtPlot.Text = addMovie.Overview; ProgressMeter.Visibility = Visibility.Collapsed; ProgressMeter.IsActive = false; }
private void indicator_ItemClick(object sender, ItemClickEventArgs e) { int index = control.SelectedIndex; if (ShouldAdd[index]) { AddToCheckBox.IsChecked = true; } else { AddToCheckBox.IsChecked = false; } NeoModels.Movie selectedMovie = (NeoModels.Movie)e.ClickedItem; TitleTextblock.Text = selectedMovie.Title; YearTextblock.Text = selectedMovie.Year.ToString(); PlotTextblock.Text = selectedMovie.Overview; GenresTextblock.Text = String.Join(",", selectedMovie.Genres); DirectorsTextblock.Text = String.Join(",", selectedMovie.Directors); ActorsTextblock.Text = String.Join(",", selectedMovie.Actors); DirectorsTextblockHolder.Text = "Directors:"; ActorsTextblockHolder.Text = "Actors:"; }
/// <summary> /// Helper methods /// </summary> /// <returns></returns> private async Task <NeoModels.Movie> getSuggestionsAsync() { Suggested.Clear(); ShouldAdd.Clear(); try { LoadingControl.Visibility = Visibility.Visible; LoadingControl.IsEnabled = true; LoadingControl.IsLoading = true; Random randomGenerator = new Random(); int randomPage = randomGenerator.Next(1, 20); ApiSearchResponse <MovieInfo> response = await movieAPI.GetTopRatedAsync(randomPage); int iter = 0; foreach (MovieInfo info in response.Results) { if (movieList.Instance.existsInList(info.Title)) { continue; } NeoModels.Movie addMovie = await ApiMovieAsync(info.Title); Suggested.Add(addMovie); ShouldAdd.Add(false); if (iter++ == 10) { break; } } randomPage = randomGenerator.Next(1, 20); response = await movieAPI.GetPopularAsync(randomPage); iter = 0; foreach (MovieInfo info in response.Results) { if (movieList.Instance.existsInList(info.Title)) { continue; } NeoModels.Movie addMovie = await ApiMovieAsync(info.Title); Suggested.Add(addMovie); ShouldAdd.Add(false); if (iter++ == 10) { break; } } } catch { LoadingControl.IsLoading = false; AddToCheckBox.Visibility = Visibility.Visible; control.Visibility = Visibility.Visible; control.SelectedIndex = 9; return(null); } LoadingControl.IsLoading = false; AddToCheckBox.Visibility = Visibility.Visible; control.Visibility = Visibility.Visible; control.SelectedIndex = 9; return(null); }