private async Task GetTopRatedMovies()
        {
            var movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
            ApiSearchResponse <MovieInfo> responseMovieInfos = await movieApi.GetTopRatedAsync();

            await _movieHelper.GetMovies(responseMovieInfos);

            _topMoviesList = _movieHelper.MoviesList;

            // Set image path
            StorageClient   client     = new StorageClient();
            ImageDownloader downloader = new ImageDownloader(client);

            foreach (Movie m in _movieHelper.MoviesList)
            {
                if (m.ImagePath != null)
                {
                    string localPath = downloader.LocalPathForFilename(m.ImagePath);

                    // if localPath does not exist then download image
                    if (!File.Exists(localPath))
                    {
                        await downloader.DownloadImage(m.ImagePath, localPath, new CancellationToken());
                    }

                    m.setImagePath(localPath);
                }
                else
                {
                    m.setImagePath("");
                }
            }
        }
Ejemplo n.º 2
0
        public override async void ViewDidLoad()
        {
            base.ViewDidLoad();

            this.View.BackgroundColor = UIColor.FromRGB(0.714f, 0.98f, 1);
            this.Title = "Top Rated Movies";

            var spinner = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.Gray);

            spinner.Frame = new CGRect(20, 10, this.View.Bounds.Width - 2 * 20, 50);
            this.View.AddSubview(spinner);
            spinner.StartAnimating();

            var movieApi = MovieDbFactory.Create <DM.MovieApi.MovieDb.Movies.IApiMovieRequest>().Value;
            ApiSearchResponse <MovieInfo> res = await movieApi.GetTopRatedAsync();

            foreach (var i in res.Results)
            {
                Movie movie = new Movie();
                await setMovieInfo.setInfo(i, movieApi, movie);

                this._movieList.Add(movie);
            }

            this.TableView.Source = new MovieListSource(this._movieList, OnSelectedMovie);

            spinner.StopAnimating();
            this.TableView.ReloadData();
        }
Ejemplo n.º 3
0
 public MovieService()
 {
     MovieDbFactory.RegisterSettings(apiKey, apiUrl);
     _api    = MovieDbFactory.Create <IApiMovieRequest>().Value;
     _pApi   = MovieDbFactory.Create <IApiPeopleRequest>().Value;
     _movies = new List <MovieDetail>();
 }
 public PopularPage(FilmCollection Movies)
 {
     MovieDbFactory.RegisterSettings(Movies);
     this._modelView     = new PopularMoviesViewModel(this.Navigation, Movies._movies);
     this.BindingContext = this._modelView;
     InitializeComponent();
 }
Ejemplo n.º 5
0
        /// <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");
            }
        }
Ejemplo n.º 6
0
        public App()
        {
            InitializeComponent();

            MovieDbFactory.RegisterSettings(new MovieDbSettings());
            var movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;

            this._movieService = new MovieServices(movieApi);

            var moviePage           = new XFMovieSearchPage(this._movieService);
            var movieNavigationPage = new NavigationPage(moviePage);

            movieNavigationPage.Title = "Search";

            this._topRatedPage = new TopRatedPage(this._movieService);
            var topRatedNavigationPage = new NavigationPage(this._topRatedPage);

            topRatedNavigationPage.Title = "Top Rated";

            this._popularMoviesPage = new PopularMoviesPage(this._movieService);
            var popularNavigationPage = new NavigationPage(this._popularMoviesPage);

            popularNavigationPage.Title = "Popular movies";

            this._tabbedPage = new TabPage(this._topRatedPage, this._popularMoviesPage);
            this._tabbedPage.Children.Add(movieNavigationPage);
            this._tabbedPage.Children.Add(topRatedNavigationPage);
            this._tabbedPage.Children.Add(popularNavigationPage);


            MainPage = this._tabbedPage;
        }
Ejemplo n.º 7
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our button from the layout resource,
            // and attach an event to it

            var movieInputText       = this.FindViewById <EditText>(Resource.Id.movieTextInputLabel);
            var getMovieButton       = this.FindViewById <Button>(Resource.Id.getMovieButton);
            var displayMovieTextView = this.FindViewById <TextView>(Resource.Id.isplayMovieSearchLabel);

            MovieDbFactory.RegisterSettings(new MovieDbSettings());
            var movieApi     = MovieDbFactory.Create <IApiMovieRequest>().Value;
            var movieService = new MovieServices(movieApi);

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

            getMovieButton.Click += async(object sender, EventArgs e) =>
            {
                this._movieList = await movieService.getListOfMoviesMatchingSearch(movieInputText.Text);

//                await imageDownloader.getLocalPath(this._movieList);

                //var answer = getListOfMoviesMatchingSearch(movieInputText.Text);
                var manager = (InputMethodManager)this.GetSystemService(InputMethodService);
                manager.HideSoftInputFromWindow(movieInputText.WindowToken, 0);
                displayMovieTextView.Text = this._movieList[0].Title;
            };
        }
Ejemplo n.º 8
0
        public void GetAllApiRequests_CanCreate_IMovieApi()
        {
            List <PropertyInfo> dbApi = typeof(IMovieDbApi)
                                        .GetProperties()
                                        .Where(x => typeof(IApiRequest).IsAssignableFrom(x.PropertyType))
                                        .Distinct()
                                        .ToList();

            Assert.AreEqual(8, dbApi.Count);

            IMovieDbApi api;

            try
            {
                api = MovieDbFactory.GetAllApiRequests();
            }
            catch (NotImplementedException)
            {
                return;
            }

            Assert.Fail($"{nameof( MovieDbFactory.GetAllApiRequests )} is not implemented.");

            // ReSharper disable HeuristicUnreachableCode
            Assert.IsNotNull(api);

            foreach (PropertyInfo pi in dbApi)
            {
                var val = pi.GetValue(api) as IApiRequest;
                Assert.IsNotNull(val);
            }
            // ReSharper restore HeuristicUnreachableCode
        }
Ejemplo n.º 9
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            MovieDbFactory.RegisterSettings(new ApiConnectionClass());

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our button from the layout resource,
            // and attach an event to it
            var button      = FindViewById <Button>(Resource.Id.searchButton);
            var search      = FindViewById <EditText>(Resource.Id.searchTextField);
            var movieResult = FindViewById <TextView>(Resource.Id.movieResult);

            //var movieResult = FindViewById<TextView>(2131099651);


            button.Click += async delegate
            {
                var manager = (InputMethodManager)this.GetSystemService(InputMethodService);
                manager.HideSoftInputFromWindow(search.WindowToken, 0);

                var movieApi = MovieDbFactory.Create <DM.MovieApi.MovieDb.Movies.IApiMovieRequest>().Value;

                DM.MovieApi.ApiResponse.ApiSearchResponse <DM.MovieApi.MovieDb.Movies.MovieInfo> response = await movieApi.SearchByTitleAsync(search.Text);

                var movie = response.Results[0].Title;

                movieResult.Text = movie;
            };
        }
 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;
 }
Ejemplo n.º 11
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 <IApiPeopleRequest>().Value;

            Assert.IsInstanceOfType(_api, typeof(ApiPeopleRequest));
        }
Ejemplo n.º 13
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;
 }
Ejemplo n.º 14
0
        public MovieController(List <Movie> movieList)
        {
            MovieDbFactory.RegisterSettings(new ApiConnectionClass());
            this._movies    = new Movies();
            this.TabBarItem = new UITabBarItem(UITabBarSystemItem.Search, 0);

            setMovieInfo = new SetMovieInfo();
        }
 public MovieController(MovieHelper movieHelper)
 {
     // Initialize spinner
     MovieDbFactory.RegisterSettings(new MovieDbSettings());
     this._movieHelper = movieHelper;
     this.TabBarItem   = new UITabBarItem(UITabBarSystemItem.Search, 0);
     activitySpinner   = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.Gray);
 }
Ejemplo n.º 16
0
        public void ResetFactory_SetsIsFactoryComposed()
        {
            MovieDbFactory.ResetFactory();
            Assert.IsFalse(MovieDbFactory.IsFactoryComposed);

            AssemblyInit.RegisterFactorySettings();
            Assert.IsTrue(MovieDbFactory.IsFactoryComposed);
        }
Ejemplo n.º 17
0
        public MovieService(IPosterDownload downloader)
        {
            MyMovieDbSettings settings = new MyMovieDbSettings();

            MovieDbFactory.RegisterSettings(settings);

            _downloader = downloader;
            _movieApi   = MovieDbFactory.Create <IApiMovieRequest>().Value;
        }
 public TopRatedMovieController(MovieHelper movieHelper)
 {
     this._reload = true;
     MovieDbFactory.RegisterSettings(new MovieDbSettings());
     this._movieHelper = movieHelper;
     _topMoviesList    = new List <Movie>();
     this.TabBarItem   = new UITabBarItem(UITabBarSystemItem.Favorites, 0);
     activitySpinner   = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.Gray);
 }
        //Liefert einen MovieObjekt von TheMovieDB
        public async Task <ApiQueryResponse <Movie> > searchMoviefromTheMovieDB(int MovieId)
        {
            MovieDbFactory.RegisterSettings("475a861fb3967339aa8dd5680cb64b5b", "http://api.themoviedb.org/3/");
            var movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;

            ApiQueryResponse <Movie> apiQueryResponse = await movieApi.FindByIdAsync(MovieId, "de");

            return(apiQueryResponse);
        }
Ejemplo n.º 20
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;
        }
Ejemplo n.º 21
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();
        }
Ejemplo n.º 22
0
        public MainWindow()
        {
            MovieDbFactory.RegisterSettings(ConfigurationManager.AppSettings["ApiKey"]);

            AutofacInstaller.RegisterComponents();

            InitializeComponent();

            MovieDbFactory.ResetFactory();
        }
Ejemplo n.º 23
0
        public async Task <List <string> > GetActors(int id)
        {
            var movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
            ApiQueryResponse <MovieCredit> response = await movieApi.GetCreditsAsync(id);

            if (response.Item == null)
            {
                return(new List <string>());
            }
            return(response.Item.CastMembers.Select(x => x.Name).Take(3).ToList());
        }
Ejemplo n.º 24
0
        private async Task <int> getRuntime(int id)
        {
            var movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
            ApiQueryResponse <DM.MovieApi.MovieDb.Movies.Movie> response = await movieApi.FindByIdAsync(id);

            if (response.Item != null)
            {
                return(response.Item.Runtime);
            }
            return(0);
        }
Ejemplo n.º 25
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            // Set our view from the "main" layout resource
            //SetContentView(Resource.Layout.Main);
            var rootView = inflater.Inflate(Resource.Layout.MovieInput, container, false);

            // Get our button from the layout resource,
            // and attach an event to it
            var button  = rootView.FindViewById <Button>(Resource.Id.searchButton);
            var search  = rootView.FindViewById <EditText>(Resource.Id.searchTextField);
            var spinner = rootView.FindViewById <ProgressBar>(Resource.Id.marker_progress);

            button.Click += async delegate {
                button.Enabled = false;
                search.Enabled = false;

                _movies.AllMovies.Clear();
                var manager = (InputMethodManager)Context.GetSystemService(Context.InputMethodService);
                manager.HideSoftInputFromWindow(search.WindowToken, 0);

                spinner.Visibility = ViewStates.Visible;

                //get movies corresponding to request
                var movieApi = MovieDbFactory.Create <DM.MovieApi.MovieDb.Movies.IApiMovieRequest>().Value;
                DM.MovieApi.ApiResponse.ApiSearchResponse <DM.MovieApi.MovieDb.Movies.MovieInfo> response = await movieApi.SearchByTitleAsync(search.Text);


                //insert results into arrays
                if (response != null)
                {
                    foreach (var i in response.Results)
                    {
                        var resp = await movieApi.GetCreditsAsync(i.Id);

                        var response2 = await movieApi.FindByIdAsync(i.Id);

                        var tmpmovie = new Movie();

                        _movies.AddMovie(i, resp, response2, tmpmovie);
                    }
                }

                var intent = new Intent(Context, typeof(MovieListActivity));
                intent.PutExtra("movieList", JsonConvert.SerializeObject(_movies.AllMovies));
                StartActivity(intent);

                spinner.Visibility = ViewStates.Gone;
                button.Enabled     = true;
                search.Enabled     = true;
                search.Text        = "";
            };
            return(rootView);
        }
Ejemplo n.º 26
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            this.Title = "Movie Search";

            this.View.BackgroundColor = UIColor.FromRGB(0.714f, 0.98f, 1);

            this._yCoord = StartY;

            var prompt = CreatePrompt();

            var nameField = CreateNameField();

            var greetingButton = CreateButton("Get movies");

            greetingButton.TouchUpInside += async(sender, args) =>
            {
                if (nameField.Text != "")
                {
                    this._movies.AllMovies.Clear();
                    nameField.ResignFirstResponder();
                    greetingButton.Enabled = false;

                    //create the spinner whilst finding movies
                    var spinner = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.Gray);

                    spinner.Frame = new CGRect(HorizontalMargin, this._yCoord, this.View.Bounds.Width - 2 * HorizontalMargin, 50);
                    this.View.AddSubview(spinner);
                    spinner.StartAnimating();

                    var movieApi = MovieDbFactory.Create <DM.MovieApi.MovieDb.Movies.IApiMovieRequest>().Value;
                    DM.MovieApi.ApiResponse.ApiSearchResponse <DM.MovieApi.MovieDb.Movies.MovieInfo> response = await movieApi.SearchByTitleAsync(nameField.Text);

                    foreach (var i in response.Results)
                    {
                        var movie = new Movie();
                        await setMovieInfo.setInfo(i, movieApi, movie);

                        this._movies.AllMovies.Add(movie);
                    }

                    this.NavigationController.PushViewController(new MovieListController(this._movies.AllMovies), true);
                    spinner.StopAnimating();
                    greetingButton.Enabled = true;
                }
            };

            this.View.AddSubview(prompt);
            this.View.AddSubview(nameField);
            this.View.AddSubview(greetingButton);
        }
Ejemplo n.º 27
0
        public MOTR_Moviescraper(IWebSocketLogger logger)
        {
            //Set the settings for the scrapper
            MOTRScrapperSettings        = new MOTRMovieDbSettings();
            MOTRScrapperSettings.ApiKey = "73706c8ed57633aeb73e866cd896ff9c";
            MOTRScrapperSettings.ApiUrl = "http://api.themoviedb.org/3/";

            // registration with an implementation of IMovieDbSettings
            MovieDbFactory.RegisterSettings(MOTRScrapperSettings);

            //Store logger at startup
            _logger          = logger;
            movieInformation = null;
        }
Ejemplo n.º 28
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);
        }
Ejemplo n.º 29
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);
        }
Ejemplo n.º 30
0
        public async Task <List <Models.Movie> > GetSuggestions(string search)
        {
            List <Models.Movie> movies = new List <Models.Movie>();
            var movieApi = MovieDbFactory.Create <IApiMovieRequest>().Value;
            ApiSearchResponse <MovieInfo> response = await movieApi.SearchByTitleAsync(search);

            foreach (var result in response.Results)
            {
                movies.Add(new movie_trailers.Models.Movie {
                    Title = result.Title
                });
            }
            return(movies);
        }