public bool ProcessEvent( string partition, CheckpointTag eventPosition, string streamId, string eventType, string category, Guid eventid, int sequenceNumber, string metadata, string data, out string newState, out EmittedEvent[] emittedEvents) { CheckDisposed(); if (eventType == null) throw new ArgumentNullException("eventType"); if (streamId == null) throw new ArgumentNullException("streamId"); _eventPosition = eventPosition; _emittedEvents = null; _query.Push( data.Trim(), // trimming data passed to a JS new[] { streamId, eventType, category ?? "", sequenceNumber.ToString(CultureInfo.InvariantCulture), metadata ?? "", partition, eventPosition.ToJson() }); newState = _query.GetState(); emittedEvents = _emittedEvents == null ? null : _emittedEvents.ToArray(); return true; }
public string GetStatePartition( CheckpointTag eventPosition, string streamId, string eventType, string category, Guid eventid, int sequenceNumber, string metadata, string data) { CheckDisposed(); if (eventType == null) throw new ArgumentNullException("eventType"); if (streamId == null) throw new ArgumentNullException("streamId"); var partition = _query.GetPartition( data.Trim(), // trimming data passed to a JS new string[] { streamId, eventType, category ?? "", sequenceNumber.ToString(CultureInfo.InvariantCulture), metadata ?? "", eventPosition.ToJson() }); if (partition == "") return null; else return partition; }