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 }); } }
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); }