public async Task GetEventStreamFromAsync_WithValidArgs_DoesNotThrowException() { // Arrange var options = new DbContextOptionsBuilder <EventStoreDbContext>() .UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=EventStreamReadersIntegrationTests;Integrated Security=False") .Options; EventStoreDbContext context = new EventStoreDbContext(options); IEventStore eventStore = new EFEventStore(context, null); IEventStreamReader client = new InProcessEventStreamReader(eventStore); int expectedNumberOfRevisions = 7; // Act EventStream stream = await client.GetEventStreamFromAsync("19e2a7fc-d0eb-44b9-8348-e7678ccd37bc", -1, 10); // Assert Assert.Equal <int>(expectedNumberOfRevisions, stream.Revisions.Count); context.Dispose(); }
static void Main(string[] args) { Task t = null; CancellationTokenSource ct = null; AppInitializer.Initialize(); var options = new DbContextOptionsBuilder <EventStoreDbContext>() .UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=EventStreamReactiveReaderExample;Integrated Security=False") .Options; var dbContext = new EventStoreDbContext(options); IEventStore eventStore = new EFEventStore(dbContext, null); IEventStreamReader eventStreamReader = new InProcessEventStreamReader(eventStore); IEventStreamReactiveReader reactiveReader = new EventStreamReactiveReader(eventStreamReader); Console.WriteLine("******** REACTIVE READER EXAMPLES ********"); Console.WriteLine(); Console.WriteLine("CATCHING UP ALL EVENT STREAMS"); try { t = reactiveReader.CatchUpAllEventStreamsAsync(GlobalCheckpoint.CreateFromStart(), revision => { Console.WriteLine(string.Format("--> Processed revision: {0}", revision.ToString())); }); t.Wait(); } catch (AggregateException e) { Console.WriteLine(string.Format("ERROR: {0}", e.InnerException.Message)); } Console.WriteLine(); Console.WriteLine("Press ENTER to continue..."); Console.ReadLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("CONTINUOUSLY CATCHING UP ALL EVENT STREAMS"); ct = new CancellationTokenSource(TimeSpan.FromSeconds(30)); try { t = reactiveReader.ContinuouslyCatchUpAllEventStreamsAsync(GlobalCheckpoint.CreateFromStart(), revision => { Console.WriteLine(string.Format("--> Processed revision: {0}", revision.ToString())); }, ct.Token); t.Wait(); } catch (AggregateException e) { Console.WriteLine(string.Format("ERROR: {0}", e.InnerException.Message)); } Console.WriteLine(); Console.WriteLine("Press ENTER to continue..."); Console.ReadLine(); Console.WriteLine("CATCHING UP ALL EVENT STREAMS (WITH ASYNCHRONOUS HANDLER)"); try { t = reactiveReader.CatchUpAllEventStreamsAsync(GlobalCheckpoint.CreateFromStart(), async revision => { Console.WriteLine(string.Format("--> Processed revision: {0}", revision.ToString())); await Task.FromResult(true); }); t.Wait(); } catch (AggregateException e) { Console.WriteLine(string.Format("ERROR: {0}", e.InnerException.Message)); } Console.WriteLine(); Console.WriteLine("Press ENTER to continue..."); Console.ReadLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("CONTINUOUSLY CATCHING UP ALL EVENT STREAMS (WITH ASYNCHRONOUS HANDLER)"); ct = new CancellationTokenSource(TimeSpan.FromSeconds(10)); try { t = reactiveReader.ContinuouslyCatchUpAllEventStreamsAsync(GlobalCheckpoint.CreateFromStart(), async revision => { Console.WriteLine(string.Format("--> Processed revision: {0}", revision.ToString())); await Task.FromResult(true); }, ct.Token); t.Wait(); } catch (AggregateException e) { Console.WriteLine(string.Format("ERROR: {0}", e.InnerException.Message)); } // Dispose resources dbContext.Dispose(); Console.WriteLine(); Console.WriteLine("Press ENTER to exit..."); Console.ReadLine(); }
public void Dispose() { _context.Dispose(); }
static void Main(string[] args) { Task t = null; CancellationTokenSource ct = null; AppInitializer.Initialize(); var options = new DbContextOptionsBuilder <EventStoreDbContext>() .UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=EventStreamReactiveObservablesExample;Integrated Security=False") .Options; var dbContext = new EventStoreDbContext(options); IEventStore eventStore = new EFEventStore(dbContext, null); IEventStreamReader eventStreamReader = new InProcessEventStreamReader(eventStore); Console.WriteLine("CATCHING UP EVENT STREAM"); t = EventStoreObservables.EventStreamFrom(eventStreamReader, EventStreamCheckpoint.CreateStreamCheckpoint("19e2a7fc-d0eb-44b9-8348-e7678ccd37bc", 0, 0)) .ForEachAsync(revision => Console.WriteLine("--> Aggregate: " + revision.AggregateType + " - Revision: " + revision.RevisionId)); t.Wait(); Console.WriteLine("Completed (up to date)"); Console.WriteLine(); Console.WriteLine("Press <ENTER> to continue..."); Console.ReadLine(); Console.WriteLine(); Console.WriteLine("CONTINUOUSLY CATCHING UP EVENT STREAM"); ct = new CancellationTokenSource(TimeSpan.FromSeconds(10)); try { t = EventStoreObservables.ContinuousEventStreamFrom(eventStreamReader, EventStreamCheckpoint.CreateStreamCheckpoint("19e2a7fc-d0eb-44b9-8348-e7678ccd37bc", 0, 0)) .ForEachAsync(revision => Console.WriteLine("--> Aggregate: " + revision.AggregateType + " - Revision: " + revision.RevisionId), ct.Token); t.Wait(); } catch (AggregateException e) { if (e.InnerException is TaskCanceledException) { Console.WriteLine("ERROR: The operation has been canceled => " + e.InnerException.Message); } else { throw e; } } Console.WriteLine(); Console.WriteLine("Press <ENTER> to continue..."); Console.ReadLine(); Console.WriteLine(); Console.WriteLine("CATCHING UP ALL EVENT STREAMS"); t = EventStoreObservables.AllEventStreamsFrom(eventStreamReader, GlobalCheckpoint.Create(27)) .ForEachAsync(revision => Console.WriteLine("--> Aggregate: " + revision.AggregateType + " - Revision: " + revision.RevisionId)); t.Wait(); Console.WriteLine("Completed (up to date)"); Console.WriteLine(); Console.WriteLine("Press <ENTER> to continue..."); Console.ReadLine(); Console.WriteLine(); Console.WriteLine("CONTINUOUSLY CATCHING UP ALL EVENT STREAMS"); ct = new CancellationTokenSource(TimeSpan.FromSeconds(10)); try { t = EventStoreObservables.ContinuousAllEventStreamsFrom(eventStreamReader, GlobalCheckpoint.Create(1)) .ForEachAsync(revision => Console.WriteLine("--> Aggregate: " + revision.AggregateType + " - Revision: " + revision.RevisionId), ct.Token); t.Wait(); } catch (AggregateException e) { if (e.InnerException is TaskCanceledException) { Console.WriteLine("ERROR: The operation has been canceled => " + e.Message); } else { throw e; } } // Dispose resources dbContext.Dispose(); Console.WriteLine(); Console.WriteLine("Press <ENTER> to exit..."); Console.ReadLine(); }
static void Main(string[] args) { Task t = null; CancellationTokenSource ct = null; AppInitializer.Initialize(); var options = new DbContextOptionsBuilder <EventStoreDbContext>() .UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=EventStreamedTrackedReactiveReaderExample;Integrated Security=False") .Options; var dbContext = new EventStoreDbContext(options); IEventStore eventStore = new EFEventStore(dbContext, null); IEventStreamReader eventStreamReader = new InProcessEventStreamReader(eventStore); var eventStreamTrackingDbContext = new EventStreamTrackerDbContext( new DbContextOptionsBuilder <EventStreamTrackerDbContext>() .UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=EventStreamedTrackedReactiveReaderExampleTrackingDb;Integrated Security=False") .Options ); IEventStreamTrackerRepository trackerRepository = new EFEventStreamTrackerRepository(eventStreamTrackingDbContext); IEventStreamTrackedReactiveReader eventStreamTrackedReader = new EventStreamTrackedReactiveReader(trackerRepository, eventStreamReader); Console.WriteLine(); Console.WriteLine("CATCHING UP ALL EVENT STREAMS (WITH PERSISTENT TRACKING AND SYNCHRONOUS HANDLER)"); try { t = eventStreamTrackedReader.CatchUpAllEventStreamsAsync("projection01", revision => { Console.WriteLine(string.Format("--> Processed revision: {0}", revision.ToString())); }); t.Wait(); } catch (AggregateException e) { Console.WriteLine(string.Format("ERROR: {0}", e.InnerException.Message)); } Console.WriteLine(); Console.WriteLine("Press <ENTER> to continue..."); Console.ReadLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("CONTINUOUSLY CATCHING UP ALL EVENT STREAMS (WITH PERSISTENT TRACKING AND SYNCHRONOUS HANDLER)"); ct = new CancellationTokenSource(TimeSpan.FromSeconds(30)); try { t = eventStreamTrackedReader.ContinuouslyCatchUpAllEventStreamsAsync("projection02", revision => { Console.WriteLine(string.Format("--> Processed revision: {0}", revision.ToString())); }, ct.Token); t.Wait(); } catch (AggregateException e) { Console.WriteLine(string.Format("ERROR: {0}", e.InnerException.Message)); } Console.WriteLine(); Console.WriteLine("CATCHING UP ALL EVENT STREAMS (WITH PERSISTENT TRACKING AND ASYNCHRONOUS HANDLER)"); try { t = eventStreamTrackedReader.CatchUpAllEventStreamsAsync("projection03", async revision => { Console.WriteLine(string.Format("--> Processed revision: {0}", revision.ToString())); await Task.FromResult(true); }); t.Wait(); } catch (AggregateException e) { Console.WriteLine(string.Format("ERROR: {0}", e.InnerException.Message)); } Console.WriteLine(); Console.WriteLine("Press <ENTER> to continue..."); Console.ReadLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("CONTINUOUSLY CATCHING UP ALL EVENT STREAMS (WITH PERSISTENT TRACKING AND ASYNCHRONOUS HANDLER)"); ct = new CancellationTokenSource(TimeSpan.FromSeconds(10)); try { t = eventStreamTrackedReader.ContinuouslyCatchUpAllEventStreamsAsync("projection04", async revision => { Console.WriteLine(string.Format("--> Processed revision: {0}", revision.ToString())); await Task.FromResult(true); }, ct.Token); t.Wait(); } catch (AggregateException e) { Console.WriteLine(string.Format("ERROR: {0}", e.InnerException.Message)); } // Dispose resources dbContext.Dispose(); eventStreamTrackingDbContext.Dispose(); Console.WriteLine(); Console.WriteLine("Press <ENTER> to exit..."); Console.ReadLine(); }