@ -183,12 +183,15 @@ namespace Ombi.UI.Modules
private IRadarrCacher RadarrCacher { get ; }
private ISettingsService < CustomizationSettings > CustomizationSettings { get ; }
private static Logger Log = LogManager . GetCurrentClassLogger ( ) ;
private long _plexMovieCacheTime = 0 ;
private IEnumerable < PlexContent > _plexMovies = null ;
private long _dbMovieCacheTime = 0 ;
private Dictionary < int , RequestedModel > _dbMovies = null ;
private async Task < Negotiator > RequestLoad ( )
{
var settings = await PrService . GetSettingsAsync ( ) ;
var custom = await CustomizationSettings . GetSettingsAsync ( ) ;
var emby = await EmbySettings . GetSettingsAsync ( ) ;
@ -245,11 +248,12 @@ namespace Ombi.UI.Modules
}
private IEnumerable < PlexContent > plexMovies ( )
{
if ( _plexMovies = = null )
{ long now = DateTime . Now . Ticks ;
if ( _plexMovies = = null | | ( now - _plexMovieCacheTime ) > 10000 )
{
var content = PlexContentRepository . GetAll ( ) ;
_plexMovies = PlexChecker . GetPlexMovies ( content ) ;
_plexMovieCacheTime = now ;
}
return _plexMovies ;
@ -338,13 +342,15 @@ namespace Ombi.UI.Modules
private async Task < Dictionary < int , RequestedModel > > requestedMovies ( )
{
if ( _dbMovies = = null )
long now = DateTime . Now . Ticks ;
if ( _dbMovies = = null | | ( now - _dbMovieCacheTime ) > 10000 )
{
var allResults = await RequestService . GetAllAsync ( ) ;
allResults = allResults . Where ( x = > x . Type = = RequestType . Movie ) ;
var distinctResults = allResults . DistinctBy ( x = > x . ProviderId ) ;
_dbMovies = distinctResults . ToDictionary ( x = > x . ProviderId ) ;
_dbMovieCacheTime = now ;
}
return _dbMovies ;
}