public static Task AppendToStream( this IEventStore eventStore, string streamId, int expectedVersion, NewStreamEvent newStreamEvent) { return(eventStore.AppendToStream(streamId, expectedVersion, new[] { newStreamEvent })); }
private static async Task AppendEvents(IEventStore eventStore, string streamId, int numberOfEvents) { for (int i = 0; i < numberOfEvents; i++) { var newStreamEvent = new NewStreamEvent(Guid.NewGuid(), "MyEvent", "{}"); await eventStore.AppendToStream(streamId, ExpectedVersion.Any, newStreamEvent); } }
private static NewStreamEvent[] CreateNewStreamEventSequence(int startId, int count) { var streamEvents = new List <NewStreamEvent>(); for (int i = 0; i < count; i++) { var eventNumber = startId + i; var eventId = Guid.Parse("00000000-0000-0000-0000-" + eventNumber.ToString().PadLeft(12, '0')); var newStreamEvent = new NewStreamEvent(eventId, "type", "\"data\"", "\"metadata\""); streamEvents.Add(newStreamEvent); } return(streamEvents.ToArray()); }
private static NewStreamEvent[] CreateNewStreamEvents() { var eventsToWrite = new List <NewStreamEvent>(); var largeStreamCount = 7500; for (int i = 0; i < largeStreamCount; i++) { var envelope = new NewStreamEvent(Guid.NewGuid(), $"event{i}", "{}", $"{i}"); eventsToWrite.Add(envelope); } return(eventsToWrite.ToArray()); }
private StreamEvent CreateStreamEvent(NewStreamEvent e) { switch (e.Kind) { case StreamEvent.EventKind.OnCompleted: return(new OnCompletedEvent(e.Info)); case StreamEvent.EventKind.OnNext: return(new OnNextEvent(e.Info, TranslatePayload(e.Payload))); case StreamEvent.EventKind.OnError: return(new OnErrorEvent(e.Info, TranslatePayload(e.Payload))); default: throw new ArgumentException(nameof(e)); } object TranslatePayload(PayloadInfo payloadInfo) { if (payloadInfo is SimplePayloadInfo s) { return(s.Value); } var objPayload = (ObjectPayloadInfo)payloadInfo; var typeInfo = mTypeInfoCache.Lookup(objPayload.TypeId).Value; // should always arrive before object that uses it var properties = mObjectPropertiesInfoByObjectId.WatchValue(objPayload.ObjectId) .Select(propsInfo => propsInfo.PropertyValues.Select(TranslatePayload)) .Select(propValues => typeInfo.PropertyNames.Zip(propValues, (name, val) => new KeyValuePair <string, object>(name, val))) .Select(namesAndValues => namesAndValues.ToImmutableDictionary()); return(new PayloadObject( typeInfo.TypeName, objPayload.ObjectId, objPayload.Representation, objPayload.IsExceptionGettingValue, objPayload.ItemCount, properties.Take(1), Observable.Never <IImmutableList <object> >())); } }