diff --git a/src/NzbDrone.Core/MediaFiles/MediaFileService.cs b/src/NzbDrone.Core/MediaFiles/MediaFileService.cs index 5294f5727..d34ceced2 100644 --- a/src/NzbDrone.Core/MediaFiles/MediaFileService.cs +++ b/src/NzbDrone.Core/MediaFiles/MediaFileService.cs @@ -35,6 +35,7 @@ namespace NzbDrone.Core.MediaFiles } public class MediaFileService : IMediaFileService, + IHandle, IHandleAsync, IHandleAsync> { @@ -200,6 +201,19 @@ namespace NzbDrone.Core.MediaFiles _mediaFileRepository.SetFields(trackFiles, t => t.MediaInfo); } + public void Handle(ArtistMovedEvent message) + { + var files = _mediaFileRepository.GetFilesWithBasePath(message.SourcePath); + + foreach (var file in files) + { + var newPath = message.DestinationPath + file.Path.Substring(message.SourcePath.Length); + file.Path = newPath; + } + + Update(files); + } + public void HandleAsync(AlbumDeletedEvent message) { if (message.DeleteFiles)