Class EventSourceOperations

Namespace
Cratis.Chronicle.EventSequences.Operations
Assembly
Cratis.Chronicle.dll

Represents an implementation of IEventSourceOperations for managing operations related to a specific event source.

public class EventSourceOperations : IEventSourceOperations
Inheritance
EventSourceOperations
Implements
Inherited Members
Extension Methods

Constructors

EventSourceOperations()

public EventSourceOperations()

Properties

ConcurrencyScope

Gets the concurrency scope for the operations.

public ConcurrencyScope ConcurrencyScope { get; }

Property Value

ConcurrencyScope

Operations

Gets the operations associated with the event source.

public IEnumerable<IEventSequenceOperation> Operations { get; }

Property Value

IEnumerable<IEventSequenceOperation>

Methods

Append(object, Causation?, EventStreamType?, EventStreamId?, EventSourceType?, IEnumerable<string>?, DateTimeOffset?, Subject?)

Appends an event to the operation.

public EventSourceOperations Append(object @event, Causation? causation = null, EventStreamType? eventStreamType = null, EventStreamId? eventStreamId = null, EventSourceType? eventSourceType = null, IEnumerable<string>? tags = null, DateTimeOffset? occurred = null, Subject? subject = null)

Parameters

event object

The event to append.

causation Causation

Optional causation for the event.

eventStreamType EventStreamType

Optional The type of event stream.

eventStreamId EventStreamId

Optional The identifier for the event stream.

eventSourceType EventSourceType

Optional The type of event source.

tags IEnumerable<string>

Optional dynamic tags to associate with the event.

occurred DateTimeOffset?

Optional timestamp for when the event occurred.

subject Subject

Optional subject identifying what the event is about.

Returns

EventSourceOperations

The current instance of EventSourceOperations.

GetAppendedEvents()

Gets the events that have been appended in the operation builders.

public IEnumerable<object> GetAppendedEvents()

Returns

IEnumerable<object>

Collection of events.

GetOperationsOfType<T>()

Gets the operations of a specific type.

public IEnumerable<T> GetOperationsOfType<T>() where T : IEventSequenceOperation

Returns

IEnumerable<T>

Collection of operations of the specified type.

Type Parameters

T

The type of operations to retrieve.

WithConcurrencyScope(ConcurrencyScope)

Configures the concurrency scope for the operations with a specific scope.

public EventSourceOperations WithConcurrencyScope(ConcurrencyScope concurrencyScope)

Parameters

concurrencyScope ConcurrencyScope

The concurrency scope to set.

Returns

EventSourceOperations

The current instance of EventSourceOperations.

Remarks

A NotSet value does not override a scope that has already been set for the event source, so that a later event added without a scope cannot silently disable the concurrency check. A non-NotSet value overrides any previously set scope.

WithConcurrencyScope(Action<ConcurrencyScopeBuilder>)

Configures the concurrency scope for the operations.

public EventSourceOperations WithConcurrencyScope(Action<ConcurrencyScopeBuilder> configure)

Parameters

configure Action<ConcurrencyScopeBuilder>

Action to configure the concurrency scope.

Returns

EventSourceOperations

The current instance of EventSourceOperations.