static async Task ProcessLastEvents(IEventStoreConnection connection, AccountDbContext context) { var isEndOfStream = false; var lastProcessEventNumber = 0; var batchSize = 2; while (!isEndOfStream) { var oldEvents = await connection.ReadStreamEventsForwardAsync( StreamName, lastProcessEventNumber, batchSize, true, EventStoreHelpers.GetCredentials()); await UpdateState(oldEvents, context); lastProcessEventNumber += batchSize; isEndOfStream = oldEvents.IsEndOfStream; } }
static async Task Main(string[] args) { using var connection = await EventStoreHelpers.CreateConnection(); var stream = "my-first-stream"; await connection.SubscribeToStream(stream, ProcessEvent); Console.WriteLine("processing events"); Console.ReadLine(); var pm = EventStoreHelpers.CreateProjectionsManager(); var creds = EventStoreHelpers.GetCredentials(); var projection = "money-for-accounts"; var partitionId = "account-e3f62a80-a504-4cfb-97f1-b9a003535da8"; var result = await pm.GetPartitionResultAsync(projection, partitionId, creds); Console.WriteLine(result); // projection create from file sample //var fileStr = await File.ReadAllTextAsync("test.js"); //await pm.CreateContinuousAsync("test", fileStr); }