示例#1
0
        public async Task <MovieVideo> GetVideosAsync(int movieId, string language = "en")
        {
            string uri = $"{AppSettings.ApiUrl}movie/{movieId}/videos?api_key={AppSettings.ApiKey}&language={language}";

            MovieVideo response = await _requestProvider.GetAsync <MovieVideo>(uri);

            return(response);
        }
示例#2
0
        public MovieDetailsViewModel(int movieId)
        {
            this.PlayButtonClicked = new GalaSoft.MvvmLight.CommandWpf.RelayCommand(() =>
            {
                string magnetUri = String.Empty;
                switch (SelectedQuality)
                {
                case Quality.HD:
                    magnetUri = MovieRepository.GetTorrentMagnetUri(this.torrents[0].Hash, this.MovieTitle);
                    break;

                case Quality.FHD:
                    magnetUri = MovieRepository.GetTorrentMagnetUri(this.torrents[1].Hash, this.MovieTitle);
                    break;
                }
                var wind = new MovieVideo(magnetUri);
                wind.ShowDialog();
            });
            LoadMovie(movieId);
        }
示例#3
0
        /// <summary>
        /// Get Movie Videos By Movie ID.
        /// </summary>
        /// <returns></returns>
        public async static Task <List <MovieVideo> > GetMovieVideos(int?movieID)
        {
            // Request TMDb API To Get Movie Videos By Movie ID
            using (HttpClient client = new HttpClient())
            {
                try
                {
                    client.BaseAddress = new Uri(APIConstant.TMDBBASEURL);
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    HttpResponseMessage response = await client.GetAsync(APIConstant.GETMOVIEVIDEOSURL.
                                                                         Replace("**********", movieID.ToString()));

                    // Parse Json
                    List <MovieVideo> movieVideos           = new List <MovieVideo>();
                    string            movieVideosJsonString = await response.Content.ReadAsStringAsync();

                    JObject movieVideosJsonObject = JObject.Parse(movieVideosJsonString);
                    JArray  movieVideosJsonArray  = (JArray)movieVideosJsonObject.GetValue("results");
                    foreach (JObject mv in movieVideosJsonArray)
                    {
                        MovieVideo movieVideo = new MovieVideo();
                        movieVideo.movieVideoID = mv.GetValue("id").ToString();
                        movieVideo.languageCode = mv.GetValue("iso_639_1").ToString();
                        movieVideo.countryCode  = mv.GetValue("iso_3166_1").ToString();
                        movieVideo.videoURL     = "http://www.youtube.com/embed/" + mv.GetValue("key").ToString()
                                                  + "?autoplay=0";
                        movieVideo.videoName = mv.GetValue("name").ToString();
                        movieVideo.videoSize = Convert.ToInt32(mv.GetValue("size").ToString());
                        movieVideo.videoType = mv.GetValue("type").ToString();
                        movieVideos.Add(movieVideo);
                    }
                    return(movieVideos);
                }
                catch (Exception ex)
                {
                    return(null);
                }
            }
        }
        protected override void OnAppearing()
        {
            if (Connectivity.NetworkAccess == NetworkAccess.None || Connectivity.NetworkAccess == NetworkAccess.Unknown)
            {
                DependencyService.Get <IToast>().LongAlert("No internet conection, try later..");
                return;
            }

            Result = ResultSingleton.GetInstance();

            SetAnimationToMovieTitleIfTitleIsGreaterThan25Chars(Result);

            (BindingContext as MovieDetailsPageViewModel).IsPresentInFavList().ContinueWith(w => { });

            SetPosterImgGestureRecognizer();

            LowerChildInAbsoluteLayout();

            if (Result.Id != 0)
            {
                var video = new MovieVideo();

                Locator.Current.GetService <ApiClient>().GetMovieVideosAsync(Result.Id).ContinueWith(async r =>
                {
                    video = await r;
                });

                if (video.Results.Count() == 0)
                {
                    PlayTrailer.ScaleTo(0, 250, Easing.Linear);
                }
                else
                {
                    PlayTrailer.ScaleTo(1, 250, Easing.Linear);
                }
            }
            base.OnAppearing();
        }