/// <summary> /// Put events list and its context into a EventData object /// </summary> /// <typeparam name="T"></typeparam> /// <param name="serializationManager"></param> /// <param name="streamId"></param> /// <param name="events"></param> /// <param name="requestContext"></param> /// <returns></returns> public static EventData ToEventData <T>(SerializationManager serializationManager, StreamId streamId, IEnumerable <T> events, Dictionary <string, object> requestContext) { var payload = new Body { Events = events.Cast <object>().ToList(), RequestContext = requestContext }; var bytes = serializationManager.SerializeToByteArray(payload); var eventData = new EventData(bytes); eventData.SetStreamNamespaceProperty(streamId.GetNamespace()); return(eventData); }
private async Task OnFailure(GuidId subscriptionId, string streamProviderName, StreamId streamId, StreamSequenceToken sequenceToken) { if (subscriptionId == null) { throw new ArgumentNullException("subscriptionId"); } if (string.IsNullOrWhiteSpace(streamProviderName)) { throw new ArgumentNullException("streamProviderName"); } var failureEntity = createEntity(); failureEntity.SubscriptionId = subscriptionId.Guid; failureEntity.StreamProviderName = streamProviderName; failureEntity.StreamGuid = streamId.GetKeyAsString(); failureEntity.StreamNamespace = streamId.GetNamespace(); failureEntity.SetSequenceToken(this.serializationManager, sequenceToken); failureEntity.SetPartitionKey(this.clusterId); failureEntity.SetRowkey(); await dataManager.CreateTableEntryAsync(failureEntity); }