Class UniqueConstraintDefinition
- Namespace
- Cratis.Chronicle.Events.Constraints
- Assembly
- Cratis.Chronicle.dll
Represents a definition of a unique event type constraint.
public record UniqueConstraintDefinition : IConstraintDefinition, IEquatable<UniqueConstraintDefinition>
- Inheritance
-
UniqueConstraintDefinition
- Implements
- Inherited Members
Constructors
UniqueConstraintDefinition(ConstraintName, ConstraintViolationMessageProvider, IEnumerable<UniqueConstraintEventDefinition>, EventTypeId?, bool)
Represents a definition of a unique event type constraint.
public UniqueConstraintDefinition(ConstraintName Name, ConstraintViolationMessageProvider MessageCallback, IEnumerable<UniqueConstraintEventDefinition> EventsWithProperties, EventTypeId? RemovedWith, bool IgnoreCasing)
Parameters
Name
ConstraintNameName of the constraint.
MessageCallback
ConstraintViolationMessageProviderthe callback that provides the ConstraintViolationMessage of the constraint.
EventsWithProperties
IEnumerable<UniqueConstraintEventDefinition>The EventType and properties the constraint is for.
RemovedWith
EventTypeIdThe EventTypeId of the event that removes the constraint.
IgnoreCasing
boolWhether this constraint should ignore casing.
Properties
EventsWithProperties
The EventType and properties the constraint is for.
public IEnumerable<UniqueConstraintEventDefinition> EventsWithProperties { get; init; }
Property Value
IgnoreCasing
Whether this constraint should ignore casing.
public bool IgnoreCasing { get; init; }
Property Value
MessageCallback
the callback that provides the ConstraintViolationMessage of the constraint.
public ConstraintViolationMessageProvider MessageCallback { get; init; }
Property Value
Name
Name of the constraint.
public ConstraintName Name { get; init; }
Property Value
RemovedWith
The EventTypeId of the event that removes the constraint.
public EventTypeId? RemovedWith { get; init; }