public void Handle(TrackFileRetaggedEvent message) { var path = message.TrackFile.Path; foreach (var track in message.TrackFile.Tracks.Value) { var history = new History { EventType = HistoryEventType.TrackFileRetagged, Date = DateTime.UtcNow, Quality = message.TrackFile.Quality, SourceTitle = path, ArtistId = message.TrackFile.Artist.Value.Id, AlbumId = message.TrackFile.AlbumId, TrackId = track.Id, }; history.Data.Add("TagsScrubbed", message.Scrubbed.ToString()); history.Data.Add("Diff", message.Diff.Select(x => new { Field = x.Key, OldValue = x.Value.Item1, NewValue = x.Value.Item2 }).ToJson()); _historyRepository.Insert(history); } }
public void Handle(TrackFileRetaggedEvent message) { var retagMessage = new TrackRetagMessage { Message = GetTrackRetagMessage(message.Artist, message.TrackFile, message.Diff), Artist = message.Artist, Album = message.TrackFile.Album, Release = message.TrackFile.Tracks.Value.First().AlbumRelease.Value, TrackFile = message.TrackFile, Diff = message.Diff, Scrubbed = message.Scrubbed }; foreach (var notification in _notificationFactory.OnTrackRetagEnabled()) { if (ShouldHandleArtist(notification.Definition, message.Artist)) { notification.OnTrackRetag(retagMessage); } } }