async Task LoadTVShowSeason(int tv_id, int season_number, string showName)
        {
            Item = await Task.Run(() => TMDbService.GetDetailedTVShowSeasonAsync(tv_id, season_number, showName));

            Item.poster_path = "";

            PosterSource.Clear();
            foreach (var posterItem in Item.images.posters)
            {
                PosterSource.Add(posterItem);
            }

            CastSource.Clear();
            foreach (var castItem in Item.credits.cast)
            {
                CastSource.Add(castItem);
            }

            CrewSource.Clear();
            foreach (var crewItem in Item.credits.crew)
            {
                CrewSource.Add(crewItem);
            }

            EpisodeSource.Clear();
            foreach (var episodeItem in Item.episodes)
            {
                EpisodeSource.Add(episodeItem);
            }

            LoadCompleted();
        }
Exemple #2
0
        public async Task InitializeAsync(int id, MediaType mediaType)
        {
            Providers = await TMDbService.GetWatchProvidersAsync(id, mediaType, new System.Threading.CancellationToken());

            ProviderLists = new List <ProviderLists>();
            if (Providers?.Results?.ContainsKey("US") ?? false)
            {
                RegionWatchProvider = Providers.Results["US"];
                if (RegionWatchProvider?.FlatRate?.Any() ?? false)
                {
                    ProviderLists.Add(new ProviderLists("Stream", RegionWatchProvider.FlatRate.OrderBy(x => x.DisplayPriority).Select(item => new ProviderItem(item)).ToList()));
                }
                if (RegionWatchProvider?.Ads?.Any() ?? false)
                {
                    ProviderLists.Add(new ProviderLists("Ads", RegionWatchProvider.Ads.OrderBy(x => x.DisplayPriority).Select(item => new ProviderItem(item)).ToList()));
                }
                if (RegionWatchProvider?.Rent?.Any() ?? false)
                {
                    ProviderLists.Add(new ProviderLists("Rent", RegionWatchProvider.Rent.OrderBy(x => x.DisplayPriority).Select(item => new ProviderItem(item)).ToList()));
                }
                if (RegionWatchProvider?.Buy?.Any() ?? false)
                {
                    ProviderLists.Add(new ProviderLists("Buy", RegionWatchProvider.Buy.OrderBy(x => x.DisplayPriority).Select(item => new ProviderItem(item)).ToList()));
                }
            }
        }
Exemple #3
0
        public async Task LoadSearch(string text)
        {
            Source.Clear();
            var items = await TMDbService.GetMultiSearchAsync(text);

            foreach (var item in items)
            {
                Source.Add(item);
            }
        }
Exemple #4
0
        async Task LoadMovie(int id)
        {
            Item = await TMDbService.GetDetailedFilmAsync(id);

            Item.poster_path   = "";
            Item.backdrop_path = "";

            PosterSource.Clear();
            foreach (var posterItem in Item.images.posters)
            {
                PosterSource.Add(posterItem);
            }

            BackdropSource.Clear();
            foreach (var backdropItem in Item.images.backdrops)
            {
                BackdropSource.Add(backdropItem);
            }

            ReviewSource.Clear();
            foreach (var reviewItem in Item.reviews.results)
            {
                ReviewSource.Add(reviewItem);
            }

            CollectionSource.Clear();
            if (Item.belongs_to_collection != null && Item.collection_films != null)
            {
                foreach (var collectionItem in Item.collection_films)
                {
                    CollectionSource.Add(collectionItem);
                }
            }

            RecommendationsSource.Clear();
            foreach (var recommendationItem in Item.recommendations.results)
            {
                RecommendationsSource.Add(recommendationItem);
            }

            CastSource.Clear();
            foreach (var castItem in Item.credits.cast)
            {
                CastSource.Add(castItem);
            }

            CrewSource.Clear();
            foreach (var crewItem in Item.credits.crew)
            {
                CrewSource.Add(crewItem);
            }

            LoadCompleted();
        }
        public async Task FillGenresAsync()
        {
            genres.Add("Genre");

            var genreList = await TMDbService.GetGenresAsync("tv");

            foreach (Genres g in genreList)
            {
                genres.Add(g.name);
                genresDictionary.Add(g.name, g.id);
            }
        }
Exemple #6
0
        public async void Init()
        {
            var authenticated = await TMDbService.HasExistingSessionIDAsync();

            if (authenticated)
            {
                await Shell.Current.GoToAsync($"//Main/{nameof(MainPage)}");
            }
            else
            {
                await Shell.Current.GoToAsync($"//LoginPage");
            }
        }
        async Task LoadTVShow(int id)
        {
            Item = await Task.Run(() => TMDbService.GetDetailedTVShowAsync(id));

            Item.poster_path   = "";
            Item.backdrop_path = "";

            PosterSource.Clear();
            foreach (var posterItem in Item.images.posters)
            {
                PosterSource.Add(posterItem);
            }

            BackdropSource.Clear();
            foreach (var backdropItem in Item.images.backdrops)
            {
                BackdropSource.Add(backdropItem);
            }

            ReviewSource.Clear();
            foreach (var reviewItem in Item.reviews.results)
            {
                ReviewSource.Add(reviewItem);
            }

            RecommendationsSource.Clear();
            foreach (var recommendationItem in Item.recommendations.results)
            {
                RecommendationsSource.Add(recommendationItem);
            }

            CastSource.Clear();
            foreach (var castItem in Item.credits.cast)
            {
                CastSource.Add(castItem);
            }

            CrewSource.Clear();
            foreach (var crewItem in Item.credits.crew)
            {
                CrewSource.Add(crewItem);
            }

            SeasonSource.Clear();
            foreach (var seasonItem in Item.seasons)
            {
                SeasonSource.Add(seasonItem);
            }

            LoadCompleted();
        }
        private async Task InitializeAsync(int id)
        {
            //Handle initialization for the show info.
            ShowInfo = await TMDbService.GetTVShowAsync(id, TvShowMethods.ContentRatings | TvShowMethods.AccountStates);
            await InitializeAccountInfo(id, MediaType.Tv);

            ShowRating = GetRating();
            InitializeRadialGaugeViewModel(ShowInfo?.VoteAverage ?? 0);

            //Command Initialization
            PlayTrailerCommand    = new Command(OnPlayTrailerSelected);
            AddToWatchListCommand = new Command(OnAddToWatchlistSelected);
            AddToFavoritesCommand = new Command(OnAddToFavoritesSelected);
            RateCommand           = new Command(OnRateSelected);
        }
Exemple #9
0
        private async void OnLoginClicked(Credentials credentials)
        {
            IsBusy = true;
            var authenticated = await TMDbService.LoginAndSetSessionAsync(credentials);

            IsBusy = false;
            if (authenticated.Success)
            {
                await Shell.Current.GoToAsync("//Main/MainPage");
            }
            else
            {
                ToastService.LongAlertMessage(authenticated.Message);
            }
        }
Exemple #10
0
        private async Task InitializeAsync(int id)
        {
            //Handle initialization for the movie info.
            MovieInfo = await TMDbService.GetMovieAsync(id, MovieMethods.Releases | MovieMethods.AccountStates);
            await InitializeAccountInfo(id, MediaType.Movie);

            MovieRating = GetRating();
            InitializeRadialGaugeViewModel(MovieInfo?.VoteAverage ?? 0);

            //Command Initialization
            PlayTrailerCommand    = new Command(OnPlayTrailerSelected);
            AddToWatchListCommand = new Command(OnAddToWatchlistSelected);
            AddToFavoritesCommand = new Command(OnAddToFavoritesSelected);
            RateCommand           = new Command(OnRateSelected);
        }
        private async Task<List<SearchTv>> LoadFavoriteShowsAsync()
        {
            int page = 1;
            bool loaded = false;
            List<SearchTv> results = new List<SearchTv>();

            while (!loaded)
            {
                var wlShows = await TMDbService.AccountGetFavoriteTvAsync(page++);

                if (wlShows.Page > wlShows.TotalPages && wlShows.Results.Count == 0)
                    loaded = true;
                else
                    results.AddRange(wlShows.Results);
            }

            return results;
        }
        private async Task<List<SearchMovie>> LoadRatedMoviesAsync()
        {
            int page = 1;
            bool loaded = false;
            List<SearchMovie> results = new List<SearchMovie>();

            while (!loaded)
            {
                var ratedMovies = await TMDbService.AccountGetRatedMoviesAsync(page++);

                if (ratedMovies.Page > ratedMovies.TotalPages && ratedMovies.Results.Count == 0)
                    loaded = true;
                else
                    results.AddRange(ratedMovies.Results);
            }

            return results;
        }
Exemple #13
0
 public async Task <int> OnRatingSelected(int selectedRating)
 {
     try
     {
         if (MediaType == MediaType.Movie)
         {
             await TMDbService.MovieSetRatingAsync(MediaID, selectedRating);
         }
         else if (MediaType == MediaType.Tv)
         {
             await TMDbService.TvShowSetRatingAsync(MediaID, selectedRating);
         }
     }
     catch (Exception ex)
     {
     }
     return(selectedRating);
 }
        async Task LoadPerson(int id)
        {
            Item = await Task.Run(() => TMDbService.GetDetailedPersonAsync(id));

            Item.profile_path = "";

            ProfilesSource.Clear();
            foreach (var imageItem in Item.images.profiles)
            {
                ProfilesSource.Add(imageItem);
            }

            TaggedImagesSource.Clear();
            foreach (var taggedImageItem in Item.tagged_images.results)
            {
                TaggedImagesSource.Add(taggedImageItem);
            }

            CastSource.Clear();
            foreach (var castItem in Item.combined_credits.cast)
            {
                CastSource.Add(castItem);
            }

            CrewSource.Clear();
            foreach (var crewItem in Item.combined_credits.crew)
            {
                CrewSource.Add(crewItem);
            }

            PermanentCast.Clear();
            foreach (var permCastItem in CastSource)
            {
                PermanentCast.Add(permCastItem);
            }

            PermanentCrew.Clear();
            foreach (var permCrewItem in CrewSource)
            {
                PermanentCrew.Add(permCrewItem);
            }

            LoadCompleted();
        }
Exemple #15
0
        async Task LoadPeople()
        {
            if (!noMore)
            {
                for (int i = 0; i < TMDbService.pages; i++)
                {
                    var people = await TMDbService.GetPopularPeopleAsync(++loadedPages);

                    if (!people.IsAny())
                    {
                        noMore = true;
                        break;
                    }
                    foreach (var v in people)
                    {
                        Source.Add(v);
                    }
                }
            }
        }
        async Task LoadTVShows()
        {
            if (!noMore)
            {
                for (int i = 0; i < TMDbService.pages; i++)
                {
                    var tvshows = await TMDbService.GetTvOnTheAirAsync(++loadedPages);

                    if (!tvshows.IsAny())
                    {
                        noMore = true;
                        break;
                    }
                    foreach (var v in tvshows)
                    {
                        Source.Add(v);
                    }
                }
            }
        }
        private async Task LoadMovies()
        {
            if (!noMore)
            {
                for (int i = 0; i < TMDbService.pages; i++)
                {
                    var films = await TMDbService.GetUpcomingFilmsAsync(++loadedPages);

                    if (!films.IsAny())
                    {
                        noMore = true;
                        break;
                    }
                    foreach (var v in films)
                    {
                        Source.Add(v);
                    }
                }
            }
        }
        public async Task LoadMovies()
        {
            if (!noMore)
            {
                for (int i = 0; i < TMDbService.pages; i++)
                {
                    var films = await TMDbService.GetDiscoverPageAsync(++loadedPages, "", 0, 0, 0, 0, "popularity.desc", false);

                    if (!films.IsAny())
                    {
                        noMore = true;
                        break;
                    }
                    foreach (var v in films)
                    {
                        Source.Add(v);
                    }
                }
            }
        }
Exemple #19
0
        public async Task LoadTVShows(string keyword, int decade, int year, int genre, int count, string sortby)
        {
            if (!noMore)
            {
                for (int i = 0; i < TMDbService.pages; i++)
                {
                    var tvshows = await TMDbService.GetDiscoverTVPageAsync(++loadedPages, keyword, decade, year, genre, count, sortby);

                    if (!tvshows.IsAny())
                    {
                        noMore = true;
                        break;
                    }
                    foreach (var v in tvshows)
                    {
                        Source.Add(v);
                    }
                }
            }
            LoadCompleted();
        }
        public async Task LoadMovies(string keyword, int decade, int year, int genre, int count, string sortby, bool adult)
        {
            if (!noMore)
            {
                for (int i = 0; i < TMDbService.pages; i++)
                {
                    var films = await TMDbService.GetDiscoverPageAsync(++loadedPages, keyword, decade, year, genre, count, sortby, adult);

                    if (!films.IsAny())
                    {
                        noMore = true;
                        break;
                    }
                    foreach (var v in films)
                    {
                        Source.Add(v);
                    }
                }
            }
            LoadCompleted();
        }
Exemple #21
0
        public async Task LoadMovies(int time)
        {
            if (!noMore)
            {
                for (int i = 0; i < TMDbService.pages; i++)
                {
                    var films = await TMDbService.GetComingSoonAsync(++loadedPages, time);

                    if (!films.IsAny())
                    {
                        noMore = true;
                        break;
                    }
                    foreach (var v in films)
                    {
                        Source.Add(v);
                    }
                }
            }
            LoadCompleted();
        }
Exemple #22
0
        private async Task InitializeAsync(int id)
        {
            Movie = await TMDbService.GetMovieAsync(id, MovieMethods.Credits);

            MediaCast = ModelUtils.GetMovieMediaCredits(Movie.Credits);
        }
 public TvShowTMDbExternalService(string apiKey)
 {
     service = new TMDbService(apiKey);
 }
Exemple #24
0
        private async Task InitializeAsync(int id)
        {
            Show = await TMDbService.GetTVShowAsync(id, TvShowMethods.Credits);

            MediaCast = ModelUtils.GetTvShowMediaCredits(Show.Credits);
        }
Exemple #25
0
 public async Task InitializeAsync(int id)
 {
     PersonInfo = await TMDbService.GetPersonAsync(id);
 }