public static IEnumerable<TraktMovie> GetRecommendedMoviesFromTrakt()
{
lock (syncLists)
{
// check the last time we have retrieved the watchlist
// if the time is recent, try to load from cache
if (_RecommendedMovies != null && (DateTime.Now - MovieRecommendationsAge) > TimeSpan.FromMinutes(TraktSettings.WebRequestCacheMinutes))
{
var cachedItems = RecommendedMovies;
if (cachedItems != null)
return cachedItems;
}
TraktLogger.Debug("Recommended movies cache is out of date, requesting updated data");
// we get from online, local cache is not up to date
var onlineItems = TraktAPI.TraktAPI.GetRecommendedMovies();
if (onlineItems != null)
{
_RecommendedMovies = onlineItems;
// save to local file cache
SaveFileCache(MoviesRecommendedFile, _RecommendedMovies.ToJSON());
// save retrieve data to compare next time
MovieRecommendationsAge = DateTime.Now;
}
return onlineItems;
}
}