Table of Contents

Interface IUnitOfWork

Namespace
Cratis.Chronicle.Transactions
Assembly
Cratis.Chronicle.dll

Represents a unit of work.

public interface IUnitOfWork : IDisposable
Inherited Members

Properties

CorrelationId

Gets the CorrelationId for the IUnitOfWork.

CorrelationId CorrelationId { get; }

Property Value

CorrelationId

IsCompleted

Gets the value indicating whether the unit of work is completed.

bool IsCompleted { get; }

Property Value

bool

Remarks

Unit of work being completed is semantically equal to it being disposed.

IsSuccess

Gets a value indicating whether the IUnitOfWork was successful.

bool IsSuccess { get; }

Property Value

bool

Methods

AddEvent(EventSequenceId, EventSourceId, object, Causation, EventStreamType?, EventStreamId?, EventSourceType?)

Add an event that has occurred to the IUnitOfWork.

void AddEvent(EventSequenceId eventSequenceId, EventSourceId eventSourceId, object @event, Causation causation, EventStreamType? eventStreamType = null, EventStreamId? eventStreamId = null, EventSourceType? eventSourceType = null)

Parameters

eventSequenceId EventSequenceId

The EventSequenceId for the event.

eventSourceId EventSourceId

The EventSourceId for the event.

event object

The event that has occurred.

causation Causation

The Causation for the event.

eventStreamType EventStreamType

Optional EventStreamType for the event, will default to the All stream if not set.

eventStreamId EventStreamId

Optional EventStreamId for the event, will default to Default is not set.

eventSourceType EventSourceType

Optional EventSourceType for the event, will default to Default is not set.

Commit()

Commit the IUnitOfWork.

Task Commit()

Returns

Task

Awaitable task.

GetAppendErrors()

Get any errors that have occurred while attempting to commit in the IUnitOfWork.

IEnumerable<AppendError> GetAppendErrors()

Returns

IEnumerable<AppendError>

A collection of AppendError.

GetConstraintViolations()

Gets the constraint violations that have occurred in the IUnitOfWork.

IEnumerable<ConstraintViolation> GetConstraintViolations()

Returns

IEnumerable<ConstraintViolation>

A collection of ConstraintViolation.

GetEvents()

Get the events that have occurred in the IUnitOfWork.

IEnumerable<object> GetEvents()

Returns

IEnumerable<object>

A collection of events.

OnCompleted(Action<IUnitOfWork>)

Set callback to be called when completed.

void OnCompleted(Action<IUnitOfWork> callback)

Parameters

callback Action<IUnitOfWork>

The callback to call.

Rollback()

Rollback the IUnitOfWork.

Task Rollback()

Returns

Task

Awaitable task.

TryGetLastCommittedEventSequenceNumber(out EventSequenceNumber?)

Try to get the EventSequenceNumber of the last committed event.

bool TryGetLastCommittedEventSequenceNumber(out EventSequenceNumber? eventSequenceNumber)

Parameters

eventSequenceNumber EventSequenceNumber

The outputted EventSequenceNumber of the last committed event.

Returns

bool

True if events were committed, false if not.