Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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);
        }