Пример #1
0
 public MovieService()
 {
     MovieDbFactory.RegisterSettings(apiKey, apiUrl);
     _api    = MovieDbFactory.Create <IApiMovieRequest>().Value;
     _pApi   = MovieDbFactory.Create <IApiPeopleRequest>().Value;
     _movies = new List <MovieDetail>();
 }
Пример #2
0
 public QueryForMoviesByTitle(
     IQueryForMovieById queryForMovieById,
     IApiMovieRequest requestApi)
 {
     _queryForMovieById = queryForMovieById;
     _requestApi        = requestApi;
 }
Пример #3
0
        public static async Task FindMovieDetailsAsync(IApiMovieRequest movieApi, Film movie)
        {
            if (movie == null)
            {
                return;
            }

            List <string>            genres       = new List <string>();
            ApiQueryResponse <Movie> infoResponse = await movieApi.FindByIdAsync(movie.Id);

            movie.ReleaseYear  = infoResponse.Item.ReleaseDate.Year.ToString();
            movie.Runtime      = infoResponse.Item.Runtime.ToString();
            movie.Description  = infoResponse.Item.Overview;
            movie.TagLine      = infoResponse.Item.Tagline;
            movie.BackDropPath = infoResponse.Item.BackdropPath;

            if (infoResponse.Item.Genres.Count != 0)
            {
                for (int i = 0; i < infoResponse.Item.Genres.Count; i++)
                {
                    genres.Add(infoResponse.Item.Genres[i].Name);
                }
                movie.Genre = String.Join(", ", genres);
                genres.Clear();
            }
        }
Пример #4
0
        public ModifyMovie(MovieBox.NeoModels.Movie movie)
        {
            this.InitializeComponent();
            MovieDbFactory.RegisterSettings("c837ca9610248f9584be59c8a1f2d44b", "http://api.themoviedb.org/3/");
            movieAPI = MovieDbFactory.Create <IApiMovieRequest>().Value;

            addMovie          = new MovieBox.NeoModels.Movie(movie);
            txtTitle.Text     = movie.Title;
            txtYear.Text      = movie.Year.ToString();
            txtRuntime.Text   = movie.Runtime.ToString();
            txtGenres.Text    = String.Join(",", movie.Genres);
            txtDirectors.Text = String.Join(",", movie.Directors);
            txtWriters.Text   = String.Join(",", movie.Writers);
            txtActors.Text    = String.Join(",", movie.Actors);
            txtPlot.Text      = movie.Overview;
            if (movie.Path != null)
            {
                txtPath.Text  = movie.Path;
                addMovie.Path = movie.Path;
            }

            Uri         imageUri    = new Uri(addMovie.Poster, UriKind.Absolute);
            BitmapImage imageBitmap = new BitmapImage(imageUri);

            imgPoster.Source = imageBitmap;
        }
 public MovieListController(ApiSearchResponse <MovieInfo> response, ImageDownloader downloader, IApiMovieRequest movieApi, MovieCredit[] credits)
 {
     this._response   = response;
     this._downloader = downloader;
     this._movieApi   = movieApi;
     this._credits    = credits;
 }
Пример #6
0
 public MovieListDataSource(ApiSearchResponse <MovieInfo> response, Action <int> onSelectedPerson, ImageDownloader downloader, IApiMovieRequest movieApi, MovieCredit[] credits)
 {
     this._response         = response;
     this._onSelectedPerson = onSelectedPerson;
     this._downloader       = downloader;
     this._movieApi         = movieApi;
     this._credits          = credits;
 }
Пример #7
0
        public MovieDbConnection()
        {
            string apiKey = "ffba741b9c12765812c7d80a7bae050d";
            string apiUrl = "http://api.themoviedb.org/3/";

            MovieDbFactory.RegisterSettings(apiKey, apiUrl);
            movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
        }
        public void TestInit()
        {
            ApiResponseUtil.ThrottleTests();

            _api = MovieDbFactory.Create <IApiMovieRequest>().Value;

            Assert.IsInstanceOfType(_api, typeof(ApiMovieRequest));
        }
Пример #9
0
 public AddMovie(string title, string path)
 {
     this.InitializeComponent();
     MovieDbFactory.RegisterSettings("c837ca9610248f9584be59c8a1f2d44b", "http://api.themoviedb.org/3/");
     movieAPI      = MovieDbFactory.Create <IApiMovieRequest>().Value;
     txtTitle.Text = title;
     txtPath.Text  = path;
 }
        public void TestInit()
        {
            ApiResponseUtil.ThrottleTests();

            _api = MovieDbFactory.Create<IApiMovieRequest>().Value;

            Assert.IsInstanceOfType( _api, typeof( ApiMovieRequest ) );
        }
 public MovieDBService()
 {
     // Register settings with MovieDBSettings class
     // Create query API and search by movieField value
     _settings = new MovieDBSettings();
     MovieDbFactory.RegisterSettings(_settings);
     _movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
 }
Пример #12
0
        public MovieService(IPosterDownload downloader)
        {
            MyMovieDbSettings settings = new MyMovieDbSettings();

            MovieDbFactory.RegisterSettings(settings);

            _downloader = downloader;
            _movieApi   = MovieDbFactory.Create <IApiMovieRequest>().Value;
        }
Пример #13
0
        public BrowseMovies()
        {
            this.InitializeComponent();
            MovieDbFactory.RegisterSettings("c837ca9610248f9584be59c8a1f2d44b", "http://api.themoviedb.org/3/");
            movieAPI   = MovieDbFactory.Create <IApiMovieRequest>().Value;
            moviesPath = new ObservableCollection <MovieBox.NeoModels.Movie>();
            files      = new ObservableCollection <string>();

            this.initializeFiles();
        }
Пример #14
0
        public ExplorePage()
        {
            this.InitializeComponent();

            ShouldAdd = new List <bool>();
            Suggested = new ObservableCollection <NeoModels.Movie>();
            MovieDbFactory.RegisterSettings("c837ca9610248f9584be59c8a1f2d44b", "http://api.themoviedb.org/3/");
            movieAPI             = MovieDbFactory.Create <IApiMovieRequest>().Value;
            control.IsTapEnabled = false;
        }
Пример #15
0
        public static async Task <List <Film> > PopulateMovieListAsync(IApiMovieRequest movieApi, ApiSearchResponse <MovieInfo> apiResponse)
        {
            List <Film>   movies = new List <Film>();
            List <string> actors = new List <string>();
            List <string> genres = new List <string>();

            if (apiResponse == null)
            {
                return(movies);
            }

            foreach (MovieInfo info in apiResponse.Results)
            {
                ApiQueryResponse <MovieCredit> castResponse = await movieApi.GetCreditsAsync(info.Id);

                ApiQueryResponse <Movie> infoResponse = await movieApi.FindByIdAsync(info.Id);

                Film movie = new Film()
                {
                    Title       = info.Title,
                    ReleaseYear = infoResponse.Item.ReleaseDate.Year.ToString(),
                    Runtime     = infoResponse.Item.Runtime.ToString(),
                    Genre       = "",
                    Actors      = "",
                    Description = infoResponse.Item.Overview,
                    PosterPath  = infoResponse.Item.PosterPath,
                };

                if (infoResponse.Item.Genres.Count != 0)
                {
                    for (int i = 0; i < infoResponse.Item.Genres.Count; i++)
                    {
                        genres.Add(infoResponse.Item.Genres[i].Name);
                    }
                    movie.Genre = String.Join(", ", genres);
                    genres.Clear();
                }

                if (castResponse.Item.CastMembers.Count != 0)
                {
                    for (int i = 0; i < castResponse.Item.CastMembers.Count && i < 3; i++)
                    {
                        actors.Add(castResponse.Item.CastMembers[i].Name);
                    }
                    movie.Actors = String.Join(", ", actors);
                    actors.Clear();
                }
                movies.Add(movie);
            }
            return(movies);
        }
Пример #16
0
        public void Create_CanCreate_Lazy_IApiMovieRequest()
        {
            Lazy <IApiMovieRequest> lazy = MovieDbFactory.Create <IApiMovieRequest>();

            Assert.IsNotNull(lazy);

            Assert.IsFalse(lazy.IsValueCreated);

            IApiMovieRequest api = lazy.Value;

            Assert.IsTrue(lazy.IsValueCreated);

            Assert.IsNotNull(api);
        }
Пример #17
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();


            this.Title = "Movie Search";
            this.View.BackgroundColor = UIColor.Black;

            this._yCoord         = StartY;
            this._moviesmodel    = new List <MoviesModel>();
            this.storageClient   = new StorageClient();
            this.imageDownloader = new ImageDownloader(this.storageClient);

            spinner = this.CreateSpinner();
            var prompt         = this.CreatePromptl();
            var titleField     = this.CreateTitleField();
            var searchingLabel = this.CreateSearchingLabel();

            navigateButton = this.CreateButton("See movie list");

            MovieDbFactory.RegisterSettings("7d9a7734361d93c55e7b4691d91e1197", "http://api.themoviedb.org/3/");

            movieApi  = MovieDbFactory.Create <IApiMovieRequest>().Value;
            peopleApi = MovieDbFactory.Create <IApiPeopleRequest>().Value;

            AddTopRated();

            navigateButton.TouchUpInside += (sender, args) => //when touched
            {
                titleField.ResignFirstResponder();            //hide keyboard
                navigateButton.Enabled = false;
                spinner.StartAnimating();

                if (titleField.HasText == false)
                {
                    navigateButton.Enabled = true;
                }
                else
                {
                    this._moviesmodel.Clear();
                    AddFilm(titleField);
                }
            };

            this.View.AddSubview(prompt);
            this.View.AddSubview(titleField);
            this.View.AddSubview(searchingLabel);
            this.View.AddSubview(navigateButton);
            this.View.AddSubview(spinner);
        }
Пример #18
0
        public static async Task <List <Film> > PopulateMovieListAsync(IApiMovieRequest movieApi, ApiSearchResponse <MovieInfo> apiResponse)
        {
            List <Film> movies = new List <Film>();

            StorageClient   storageClient   = new StorageClient();
            ImageDownloader imageDownloader = new ImageDownloader(storageClient);

            foreach (MovieInfo info in apiResponse.Results)
            {
                ApiQueryResponse <MovieCredit> castResponse = await movieApi.GetCreditsAsync(info.Id);

                ApiQueryResponse <Movie> infoResponse = await movieApi.FindByIdAsync(info.Id);

                Film movie = new Film()
                {
                    Title       = info.Title,
                    ReleaseYear = infoResponse.Item.ReleaseDate.Year,
                    Runtime     = infoResponse.Item.Runtime.ToString(),
                    Genre       = new List <string>(),
                    Actors      = new List <string>(),
                    Description = infoResponse.Item.Overview,
                    PosterPath  = infoResponse.Item.PosterPath
                };

                if (infoResponse.Item.Genres.Count != 0)
                {
                    for (int i = 0; i < infoResponse.Item.Genres.Count; i++)
                    {
                        movie.Genre.Add(infoResponse.Item.Genres[i].Name);
                    }
                }

                if (castResponse.Item.CastMembers.Count != 0)
                {
                    for (int i = 0; i < castResponse.Item.CastMembers.Count && i < 3; i++)
                    {
                        movie.Actors.Add(castResponse.Item.CastMembers[i].Name);
                    }
                }
                movies.Add(movie);

                if (movie.PosterPath != null)
                {
                    await imageDownloader.GetImage(movies);
                }
            }
            return(movies);
        }
Пример #19
0
        public async Task setInfo(MovieInfo i, IApiMovieRequest movieApi, Movie movie)
        {
            ApiQueryResponse <MovieCredit> resp = await movieApi.GetCreditsAsync(i.Id);

            string[] actors = new string[3];
            string   actors_3;

            if (resp.Item.CastMembers.Count == 0)
            {
                actors_3 = "";
            }
            else
            {
                int j = 0;
                int k = 0;
                while ((j < 3) && (k < resp.Item.CastMembers.Count))
                {
                    if (!resp.Item.CastMembers[k].Equals(null))
                    {
                        actors[k] = resp.Item.CastMembers[k].Name;
                        j++;
                    }
                    k++;
                }

                actors_3 = actors[0] + ", " + actors[1] + ", " + actors[2];
            }

            var posterlink = i.PosterPath;

            var localFilePath = imdown.LocalPathForFilename(posterlink);

            if (localFilePath != "")
            {
                await imdown.DownloadImage(posterlink, localFilePath, CancellationToken.None);
            }
            else
            {
                localFilePath = "not_found-full.png";
            }

            movie.Id        = i.Id;
            movie.Title     = i.Title;
            movie.Year      = i.ReleaseDate.Year;
            movie.ImageName = localFilePath;
            movie.Actors    = actors_3;
        }
Пример #20
0
        public static void Construct(FragmentActivity activity, Toolbar toolbar)
        {
            MovieDbFactory.RegisterSettings(new MovieDbSettings());
            _topRatedHelper = new MovieHelper();
            _searchHelper   = new MovieHelper();
            _movieApi       = MovieDbFactory.Create <IApiMovieRequest>().Value;

            _topRatedFragment = new TopRatedMoviesFragment(_topRatedHelper, _movieApi);

            var fragments = new Fragment[]
            {
                new MovieSearchFragment(_searchHelper, _movieApi),
                _topRatedFragment
            };
            var titles = CharSequence.ArrayFromStringArray(new[]
            {
                activity.GetString(Resource.String.SearchTab),
                activity.GetString(Resource.String.TopRatedTab)
            });

            var viewPager = activity.FindViewById <ViewPager>(Resource.Id.viewpager);

            viewPager.Adapter = new TabsFragmentPagerAdapter(activity.SupportFragmentManager, fragments, titles);

            // Give the TabLayout the ViewPager
            var tabLayout = activity.FindViewById <TabLayout>(Resource.Id.sliding_tabs);

            tabLayout.SetupWithViewPager(viewPager);

            tabLayout.TabSelected += async(sender, args) =>
            {
                var tab = args.Tab;
                if (tab.Position == 1)
                {
                    viewPager.SetCurrentItem(tab.Position, true);
                    var manager = (InputMethodManager)activity.GetSystemService(Context.InputMethodService);
                    manager.HideSoftInputFromWindow(activity.CurrentFocus.WindowToken, 0);
                    await _topRatedFragment.GetMovies();
                }
                else
                {
                    viewPager.SetCurrentItem(tab.Position, true);
                }
            };

            SetToolbar(activity, toolbar);
        }
Пример #21
0
        public static async Task FindMovieActorsAsync(IApiMovieRequest movieApi, Film movie)
        {
            if (movie == null)
            {
                return;
            }

            List <string> actors = new List <string>();
            ApiQueryResponse <MovieCredit> castResponse = await movieApi.GetCreditsAsync(movie.Id);

            if (castResponse.Item.CastMembers.Count != 0)
            {
                for (int i = 0; i < castResponse.Item.CastMembers.Count && i < 3; i++)
                {
                    if (castResponse.Item.CastMembers[i].Name != "")
                    {
                        actors.Add(castResponse.Item.CastMembers[i].Name);
                    }
                }
                movie.Actors = String.Join(", ", actors);
                actors.Clear();
            }
        }
        public void TestInit()
        {
            ApiResponseUtil.ThrottleTests();

            _api = MovieDbFactory.Create<IApiMovieRequest>().Value;
        }
Пример #23
0
 public MovieSearchViewController(IApiMovieRequest movieApi)
 {
     _movieApi       = movieApi;
     this.TabBarItem = new UITabBarItem(UITabBarSystemItem.Search, 0);
 }
 public MovieConverter(IMovieDbSettings settings)
 {
     MovieDbFactory.RegisterSettings(settings);
     movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
 }
Пример #25
0
 public MovieResourceProvider()
 {
     this._imageDl = new ImageDownloader(new StorageClient());
     MovieDbFactory.RegisterSettings(new DBSettings());
     _movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
 }
Пример #26
0
        public async Task FetchTopRatedMovies()
        {
            counter++;
            if (counter == 1)
            {
                MovieDbFactory.RegisterSettings("7d9a7734361d93c55e7b4691d91e1197", "http://api.themoviedb.org/3/");
                IApiMovieRequest movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;

                this.storageClient   = new StorageClient();
                this.imageDownloader = new ImageDownloader(this.storageClient);



                this._moviesmodel.Clear();


                //if (movieNameEditText.Text == "")
                //{

                //}
                // else
                // {
                responseTopRated = await movieApi.GetTopRatedAsync();

                var topRated = responseTopRated.Results;


                for (int i = 0; i < topRated.Count; i++)
                {
                    ApiQueryResponse <MovieCredit> responseTopRatedCast = await movieApi.GetCreditsAsync(topRated[i].Id);

                    ApiQueryResponse <Movie> responseTopRatedGenre = await movieApi.FindByIdAsync(topRated[i].Id);

                    var topRatedGenresList = responseTopRatedGenre.Item.Genres;
                    var topRatedCastList   = responseTopRatedCast.Item.CastMembers;
                    var topRatedTime       = responseTopRatedGenre.Item.Runtime;

                    string path = "Not check";

                    if (topRated[i].PosterPath == null)
                    {
                        //  await
                        //imageDownloader.DownloadImage(topRated[i].PosterPath, imageDownloader.LocalPathForFilename(topRated[i].PosterPath),
                        //    CancellationToken.None);
                        path = "Empty";
                    }
                    else
                    {
                        path = topRated[i].PosterPath;
                    }

                    string genreList = topRatedTime + " | ";

                    if (topRatedGenresList.Count == 0)
                    {
                        genreList += "";
                    }
                    else
                    {
                        genreList += topRatedGenresList[0].Name;
                    }

                    for (var j = 1; j < topRatedGenresList.Count; j++)
                    {
                        if (!topRatedGenresList[j].Equals(null))
                        {
                            genreList += ", " + topRatedGenresList[j].Name;
                        }
                    }

                    switch (topRatedCastList.Count)
                    {
                    case 0:
                        this._moviesmodel.Add(new MoviesModel(topRated[i].Title, "(" + topRated[i].ReleaseDate.Year.ToString() + ")",
                                                              string.Empty, path,
                                                              genreList, topRated[i].Overview));
                        break;

                    case 1:
                        this._moviesmodel.Add(new MoviesModel(topRated[i].Title, "(" + topRated[i].ReleaseDate.Year.ToString() + ")",
                                                              topRatedCastList[0].Name, path,
                                                              genreList, topRated[i].Overview));
                        break;

                    case 2:
                        this._moviesmodel.Add(new MoviesModel(topRated[i].Title, "(" + topRated[i].ReleaseDate.Year.ToString() + ")",
                                                              topRatedCastList[0].Name + ", " + topRatedCastList[1].Name, path,
                                                              genreList, topRated[i].Overview));
                        break;

                    default:
                        this._moviesmodel.Add(new MoviesModel(topRated[i].Title, "(" + topRated[i].ReleaseDate.Year.ToString() + ")",
                                                              topRatedCastList[0].Name + ", " + topRatedCastList[1].Name + ", " + topRatedCastList[2].Name, path,
                                                              genreList, topRated[i].Overview));
                        break;
                    }
                }

                var intent = new Intent(this.Context, typeof(MovieListActivity));
                //    intent.PutStringArrayListExtra("movieList", this.movies);
                intent.PutExtra("movieList", JsonConvert.SerializeObject(this._moviesmodel));
                StartActivity(intent);
            }
            else
            {
                var intent = new Intent(this.Context, typeof(MovieListActivity));
                //    intent.PutStringArrayListExtra("movieList", this.movies);
                intent.PutExtra("movieList", JsonConvert.SerializeObject(this._moviesmodel));
                StartActivity(intent);
            }

            spinner.Visibility = ViewStates.Gone;
        }
Пример #27
0
 public MovieService()
 {
     MovieDbFactory.RegisterSettings(new MovieDbSettings());
     _movieDbApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
     _movies     = new List <Movie>();
 }
Пример #28
0
 public MovieServices(IApiMovieRequest movieApi)
 {
     _movieApi = movieApi;
 }
Пример #29
0
 public ApiService()
 {
     MovieDbFactory.RegisterSettings(new MyDbSettings());
     _movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
 }
 public MovieSearchFragment(MovieHelper movieHelper, IApiMovieRequest movieApi)
 {
     this._movieHelper = movieHelper;
     this._movieApi    = movieApi;
 }
Пример #31
0
 public MovieService(DownloadImage downloader)
 {
     _imageDownloader = downloader;
     _movieApi        = MovieDbFactory.Create <IApiMovieRequest>().Value;
     _movies          = new List <MovieDetails>();
 }
Пример #32
0
 public AddMovie()
 {
     this.InitializeComponent();
     MovieDbFactory.RegisterSettings("c837ca9610248f9584be59c8a1f2d44b", "http://api.themoviedb.org/3/");
     movieAPI = MovieDbFactory.Create <IApiMovieRequest>().Value;
 }