Ejemplo n.º 1
0
        public void Handle(IEvent message)
        {
            if (!mappings.HasMapping(message))
            {
                return;
            }

            var messageId = bus.GetMessageHeader(message, Headers.MessageId);
            var logItem   = mappings.ApplyMapping(messageId, message);

            using (var session = store.OpenSession())
            {
                session.Store(logItem);
                session.SaveChanges();
            }

            broadcaster.Handle(new EventLogItemAdded
            {
                RaisedAt    = logItem.RaisedAt,
                Severity    = logItem.Severity,
                Description = logItem.Description,
                Id          = logItem.Id,
                Category    = logItem.Category,
                // Yes this is on purpose.
                // The reason is because this data is not useful for end users, so for now we just empty it.
                // At the moment too much data is being populated in this field, and this has significant down sides to the amount of data we are sending down to ServicePulse (it actually crashes it).
                RelatedTo = emptyArray
            });
        }