diff --git a/src/NzbDrone.Core/Music/ArtistEditedService.cs b/src/NzbDrone.Core/Music/ArtistEditedService.cs new file mode 100644 index 000000000..cc7d062ba --- /dev/null +++ b/src/NzbDrone.Core/Music/ArtistEditedService.cs @@ -0,0 +1,26 @@ +using NzbDrone.Core.Messaging.Commands; +using NzbDrone.Core.Messaging.Events; +using NzbDrone.Core.Music.Commands; +using NzbDrone.Core.Music.Events; + +namespace NzbDrone.Core.Music +{ + public class ArtistEditedService : IHandle + { + private readonly IManageCommandQueue _commandQueueManager; + + public ArtistEditedService(IManageCommandQueue commandQueueManager) + { + _commandQueueManager = commandQueueManager; + } + + public void Handle(ArtistEditedEvent message) + { + // Refresh Artist is we change AlbumType Preferences + if (message.Artist.PrimaryAlbumTypes != message.OldArtist.PrimaryAlbumTypes || message.Artist.SecondaryAlbumTypes != message.OldArtist.SecondaryAlbumTypes) + { + _commandQueueManager.Push(new RefreshArtistCommand(message.Artist.Id)); + } + } + } +}