public static SerializedEvent ToSerializedEvent(this IIngestEvent eventObject)
        {
            var type = eventObject.GetType();

            using (var writer = new StringWriter())
            {
                _eventSerializer.Serialize(writer, eventObject);
                var serializedEventData = writer.GetStringBuilder().ToString();
                return(new SerializedEvent()
                {
                    EventTypeName = type.FullName,
                    SerializedEventData = serializedEventData
                });
            }
        }
Beispiel #2
0
        public async Task StoreEvent(IIngestEvent eventObject, IMessageSender <SerializedEvent> ingestEventSender)
        {
            eventObject.IngestId  = _ingestId;
            eventObject.Timestamp = GetTimestamp();
            eventObject.Order     = await GetNumberOfStoredEvents() + 1;

            var serializedEvent = eventObject.ToSerializedEvent();

#if DEBUG
            System.Diagnostics.Debug.WriteLine(_debug_SerializeToJsonString(serializedEvent));
#endif
            await _componentStagingStore.SetItemAsync(Guid.NewGuid().ToString(), serializedEvent.GetSerializedStream()).ConfigureAwait(false);

            await ingestEventSender.Send(eventObject.ToSerializedEvent()).ConfigureAwait(false);
        }