Table of Contents

Interface IAggregateRootStateProvider<TState>

Namespace
Cratis.Chronicle.Aggregates
Assembly
Cratis.Chronicle.dll

Defines a system that can manage state for an AggregateRoot.

public interface IAggregateRootStateProvider<TState>

Type Parameters

TState

Type of state to manage.

Methods

Dehydrate()

Dehydrate any state.

Task Dehydrate()

Returns

Task

Awaitable task.

Provide()

Handle state for an AggregateRoot.

Task<TState?> Provide()

Returns

Task<TState>

State provided.

Update(TState?, IEnumerable<object>)

Update the state of an AggregateRoot with events.

Task<TState?> Update(TState? initialState, IEnumerable<object> events)

Parameters

initialState TState

The initial state to update from.

events IEnumerable<object>

The events to update with.

Returns

Task<TState>

Updated state.