TraktPlugin.GUI.GUITrendingMovies.GetTrendingMovies C# (CSharp) Méthode

GetTrendingMovies() private méthode

private GetTrendingMovies ( int page ) : TraktMoviesTrending
page int
Résultat TraktPlugin.TraktAPI.DataStructures.TraktMoviesTrending
        TraktMoviesTrending GetTrendingMovies(int page)
        {
            TraktMoviesTrending trendingMovies = null;

            if (TrendingMoviePages == null || LastRequest < DateTime.UtcNow.Subtract(new TimeSpan(0, TraktSettings.WebRequestCacheMinutes, 0)))
            {
                // get the first page
                trendingMovies = TraktAPI.TraktAPI.GetTrendingMovies(1, TraktSettings.MaxTrendingMoviesRequest);

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

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

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

                // request next page
                trendingMovies = TraktAPI.TraktAPI.GetTrendingMovies(page, TraktSettings.MaxTrendingMoviesRequest);
                if (trendingMovies != null && trendingMovies.Movies != null)
                {
                    // add to cache
                    TrendingMoviePages.Add(page, trendingMovies);
                }
            }
            return trendingMovies;
        }