/// <summary> /// Updates aggregate version for aggregate with <see cref="aggregateId"/>. /// </summary> /// <param name="aggregateId">Aggregate id.</param> /// <param name="aggregateVersionIncrement">Number to increase aggregate version.</param> /// <returns>Aggregate snapshot having current aggregate version.</returns> public SnapshotId UpdateAggregateVersion(string aggregateId, int aggregateVersionIncrement) { var currentVersion = AggregateVersions.TryGetValue(aggregateId, out var aggregateVersion) ? aggregateVersion + aggregateVersionIncrement : aggregateVersionIncrement; AggregateVersions = AggregateVersions.SetItem(aggregateId, currentVersion); return(new SnapshotId { EntryId = aggregateId, EntryVersion = currentVersion }); }
protected TestFlowExecutionContextBase( SubdomainTestHost host, ImmutableDictionary <string, int> aggregateVersions, ImmutableList <Command> commands, ImmutableList <IntegrationEvent> expectedEvents, ImmutableList <IExecutionResult> results) { Host = host; AggregateVersions = AggregateVersions.AddRange(aggregateVersions); ExecutedCommands = ExecutedCommands.AddRange(commands); ExpectedEvents = ExpectedEvents.AddRange(expectedEvents); ExecutionResults = ExecutionResults.AddRange(results); }