TraktPlugin.GUI.GUITrendingShows.GetTrendingShows C# (CSharp) Méthode

GetTrendingShows() private méthode

private GetTrendingShows ( int page ) : TraktShowsTrending
page int
Résultat TraktPlugin.TraktAPI.DataStructures.TraktShowsTrending
        TraktShowsTrending GetTrendingShows(int page)
        {
            TraktShowsTrending trendingShows = null;

            if (TrendingShowPages == null || LastRequest < DateTime.UtcNow.Subtract(new TimeSpan(0, TraktSettings.WebRequestCacheMinutes, 0)))
            {
                // get the first page
                trendingShows = TraktAPI.TraktAPI.GetTrendingShows(1, TraktSettings.MaxTrendingShowsRequest);

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

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

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

                // request next page
                trendingShows = TraktAPI.TraktAPI.GetTrendingShows(page, TraktSettings.MaxTrendingShowsRequest);
                if (trendingShows != null && trendingShows.Shows != null)
                {
                    // add to cache
                    TrendingShowPages.Add(page, trendingShows);
                }
            }
            return trendingShows;
        }