public void Handle(BookFileRetaggedEvent message) { var retagMessage = new BookRetagMessage { Message = GetTrackRetagMessage(message.Author, message.BookFile, message.Diff), Author = message.Author, Book = message.BookFile.Edition.Value.Book.Value, BookFile = message.BookFile, Diff = message.Diff, Scrubbed = message.Scrubbed }; foreach (var notification in _notificationFactory.OnBookRetagEnabled()) { if (ShouldHandleArtist(notification.Definition, message.Author)) { notification.OnBookRetag(retagMessage); } } }
public void Handle(BookFileRetaggedEvent message) { var path = message.BookFile.Path; var history = new History { EventType = HistoryEventType.BookFileRetagged, Date = DateTime.UtcNow, Quality = message.BookFile.Quality, SourceTitle = path, AuthorId = message.BookFile.Author.Value.Id, BookId = message.BookFile.EditionId }; 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); }