示例#1
0
        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);
                }
            }
        }
示例#2
0
 public void Handle(AlbumImportedEvent message)
 {
     _cache.Remove("AllArtists");
     _cache.Remove(message.Artist.Id.ToString());
 }
示例#3
0
 public void Handle(AlbumImportedEvent message)
 {
     BroadcastResourceChange(ModelAction.Updated, MapToResource(message.Album, true));
 }
示例#4
0
 public void Handle(AlbumImportedEvent message)
 {
     BroadcastResourceChange(ModelAction.Updated, GetArtistResource(message.Artist));
 }