TraktPlugin.GUI.GUIPopularMovies.GetPopularMovies C# (CSharp) Méthode

GetPopularMovies() private méthode

private GetPopularMovies ( int page ) : TraktMoviesPopular
page int
Résultat TraktPlugin.TraktAPI.DataStructures.TraktMoviesPopular
        TraktMoviesPopular GetPopularMovies(int page)
        {
            TraktMoviesPopular PopularMovies = null;

            if (PopularMoviePages == null || LastRequest < DateTime.UtcNow.Subtract(new TimeSpan(0, TraktSettings.WebRequestCacheMinutes, 0)))
            {
                // get the first page
                PopularMovies = TraktAPI.TraktAPI.GetPopularMovies(1, TraktSettings.MaxPopularMoviesRequest);

                // reset to defaults
                LastRequest = DateTime.UtcNow;
                CurrentPage = 1;
                PreviousSelectedIndex = 0;

                // clear the cache
                if (PopularMoviePages == null)
                    PopularMoviePages = new Dictionary<int, TraktMoviesPopular>();
                else
                    PopularMoviePages.Clear();

                // add page to cache
                PopularMoviePages.Add(1, PopularMovies);
            }
            else
            {
                // get page from cache if it exists
                if (PopularMoviePages.TryGetValue(page, out PopularMovies))
                {
                    return PopularMovies;
                }

                // request next page
                PopularMovies = TraktAPI.TraktAPI.GetPopularMovies(page, TraktSettings.MaxPopularMoviesRequest);
                if (PopularMovies != null && PopularMovies.Movies != null)
                {
                    // add to cache
                    PopularMoviePages.Add(page, PopularMovies);
                }
            }
            return PopularMovies;
        }