diff --git a/ErsatzTV.Core/Plex/PlexMovieLibraryScanner.cs b/ErsatzTV.Core/Plex/PlexMovieLibraryScanner.cs index 2f6da1955..647669c43 100644 --- a/ErsatzTV.Core/Plex/PlexMovieLibraryScanner.cs +++ b/ErsatzTV.Core/Plex/PlexMovieLibraryScanner.cs @@ -156,7 +156,7 @@ namespace ErsatzTV.Core.Plex PlexMovie existing = result.Item; MovieMetadata existingMetadata = existing.MovieMetadata.Head(); - if (incoming.MovieMetadata.Head().DateUpdated > existingMetadata.DateUpdated) + if (result.IsAdded || incoming.MovieMetadata.Head().DateUpdated > existingMetadata.DateUpdated) { _logger.LogDebug( "Refreshing {Attribute} from {Path}", diff --git a/ErsatzTV.Core/Plex/PlexTelevisionLibraryScanner.cs b/ErsatzTV.Core/Plex/PlexTelevisionLibraryScanner.cs index aa9813ef6..cdbb1cb3d 100644 --- a/ErsatzTV.Core/Plex/PlexTelevisionLibraryScanner.cs +++ b/ErsatzTV.Core/Plex/PlexTelevisionLibraryScanner.cs @@ -124,7 +124,7 @@ namespace ErsatzTV.Core.Plex PlexShow existing = result.Item; ShowMetadata existingMetadata = existing.ShowMetadata.Head(); - if (incoming.ShowMetadata.Head().DateUpdated > existingMetadata.DateUpdated) + if (result.IsAdded || incoming.ShowMetadata.Head().DateUpdated > existingMetadata.DateUpdated) { Either maybeMetadata = await _plexServerApiClient.GetShowMetadata( diff --git a/ErsatzTV.Infrastructure/Data/Repositories/MovieRepository.cs b/ErsatzTV.Infrastructure/Data/Repositories/MovieRepository.cs index f0c9bb803..b1decaeb9 100644 --- a/ErsatzTV.Infrastructure/Data/Repositories/MovieRepository.cs +++ b/ErsatzTV.Infrastructure/Data/Repositories/MovieRepository.cs @@ -67,6 +67,7 @@ namespace ErsatzTV.Infrastructure.Data.Repositories .ThenInclude(mm => mm.Studios) .Include(i => i.MovieMetadata) .ThenInclude(mm => mm.Actors) + .ThenInclude(a => a.Artwork) .Include(i => i.LibraryPath) .ThenInclude(lp => lp.Library) .Include(i => i.MediaVersions) @@ -98,6 +99,7 @@ namespace ErsatzTV.Infrastructure.Data.Repositories .ThenInclude(mm => mm.Studios) .Include(i => i.MovieMetadata) .ThenInclude(mm => mm.Actors) + .ThenInclude(a => a.Artwork) .Include(i => i.MovieMetadata) .ThenInclude(mm => mm.Artwork) .Include(i => i.MediaVersions) @@ -112,7 +114,7 @@ namespace ErsatzTV.Infrastructure.Data.Repositories return await maybeExisting.Match( plexMovie => Right>( - new MediaItemScanResult(plexMovie) { IsAdded = true }).AsTask(), + new MediaItemScanResult(plexMovie) { IsAdded = false }).AsTask(), async () => await AddPlexMovie(context, library, item)); } diff --git a/ErsatzTV.Infrastructure/Data/Repositories/TelevisionRepository.cs b/ErsatzTV.Infrastructure/Data/Repositories/TelevisionRepository.cs index 91fbeb697..f82e4ca93 100644 --- a/ErsatzTV.Infrastructure/Data/Repositories/TelevisionRepository.cs +++ b/ErsatzTV.Infrastructure/Data/Repositories/TelevisionRepository.cs @@ -192,6 +192,7 @@ namespace ErsatzTV.Infrastructure.Data.Repositories .ThenInclude(s => s.Show) .ThenInclude(s => s.ShowMetadata) .ThenInclude(sm => sm.Actors) + .ThenInclude(a => a.Artwork) .OrderBy(em => em.Episode.EpisodeNumber) .Skip((pageNumber - 1) * pageSize) .Take(pageSize) @@ -293,6 +294,7 @@ namespace ErsatzTV.Infrastructure.Data.Repositories .ThenInclude(em => em.Artwork) .Include(i => i.EpisodeMetadata) .ThenInclude(em => em.Actors) + .ThenInclude(a => a.Artwork) .Include(i => i.MediaVersions) .ThenInclude(mv => mv.MediaFiles) .Include(i => i.MediaVersions) @@ -393,6 +395,7 @@ namespace ErsatzTV.Infrastructure.Data.Repositories .ThenInclude(sm => sm.Studios) .Include(i => i.ShowMetadata) .ThenInclude(sm => sm.Actors) + .ThenInclude(a => a.Artwork) .Include(i => i.ShowMetadata) .ThenInclude(sm => sm.Artwork) .Include(i => i.LibraryPath) @@ -402,7 +405,7 @@ namespace ErsatzTV.Infrastructure.Data.Repositories return await maybeExisting.Match( plexShow => Right>( - new MediaItemScanResult(plexShow) { IsAdded = true }).AsTask(), + new MediaItemScanResult(plexShow) { IsAdded = false }).AsTask(), async () => await AddPlexShow(dbContext, library, item)); } @@ -434,6 +437,7 @@ namespace ErsatzTV.Infrastructure.Data.Repositories .ThenInclude(mv => mv.Streams) .Include(e => e.EpisodeMetadata) .ThenInclude(em => em.Actors) + .ThenInclude(a => a.Artwork) .OrderBy(i => i.Key) .SingleOrDefaultAsync(i => i.Key == item.Key);