public void Handle(AlbumImportIncompleteEvent message) { // TODO: Build out this message so that we can pass on what failed and what was successful var downloadMessage = new AlbumDownloadMessage { Message = GetAlbumIncompleteImportMessage(message.TrackedDownload.DownloadItem.Title), }; foreach (var notification in _notificationFactory.OnImportFailureEnabled()) { if (ShouldHandleArtist(notification.Definition, message.TrackedDownload.RemoteAlbum.Artist)) { notification.OnImportFailure(downloadMessage); } } }
public void Handle(AlbumImportedEvent message) { if (!message.NewDownload) { return; } var downloadMessage = new AlbumDownloadMessage { Message = GetAlbumDownloadMessage(message.Artist, message.Album, message.ImportedTracks), Artist = message.Artist, Album = message.Album, Release = message.AlbumRelease, DownloadClient = message.DownloadClient, DownloadId = message.DownloadId, TrackFiles = message.ImportedTracks, OldFiles = message.OldFiles, }; foreach (var notification in _notificationFactory.OnReleaseImportEnabled()) { try { if (ShouldHandleArtist(notification.Definition, message.Artist)) { if (downloadMessage.OldFiles.Empty() || ((NotificationDefinition)notification.Definition).OnUpgrade) { notification.OnReleaseImport(downloadMessage); } } } catch (Exception ex) { _logger.Warn(ex, "Unable to send OnReleaseImport notification to: " + notification.Definition.Name); } } }
public virtual void OnImportFailure(AlbumDownloadMessage message) { }
public virtual void OnReleaseImport(AlbumDownloadMessage message) { }