Example #1
0
 protected EventBasedAggregationRoot(TEntityId aggregateId, VersionId version, AggregationName name)
 {
     Name           = name;
     AggregateId    = aggregateId;
     Version        = version;
     _currentStream = new List <IDomainEvent>();
     _changes       = new List <IDomainEvent>();
 }
Example #2
0
 internal EventStreamBusinessEntityAggregateRoot(EventStream <EntityTestId> eventStream)
     : base(eventStream.AggregationId, eventStream.Version,
            AggregationName.From(nameof(EventStreamBusinessEntityAggregateRoot)))
 {
     if (eventStream.IsValid)
     {
         Apply(eventStream.Events);
     }
     AppendValidationResult(eventStream.Failures.ToImmutableList());
 }
Example #3
0
        private EventStreamBusinessEntityAggregateRoot(EventStream <EntityTestId> eventStream)
            : base(eventStream.AggregationId, eventStream.Version,
                   AggregationName.From(nameof(EventStreamBusinessEntityAggregateRoot)))
        {
            if (eventStream.ValidationResults.IsValid)
            {
                Apply(eventStream.Events);
            }

            ValidationResults = eventStream.ValidationResults;
        }
Example #4
0
        private EventStreamBusinessEntityAggregateRoot(EntityTestId aggregationId, Name name, Email email, Version version)
            : base(aggregationId, version, AggregationName.From(nameof(EventStreamBusinessEntityAggregateRoot)))
        {
            if (name.ValidationResults.IsValid && email.ValidationResults.IsValid)
            {
                var change = TestEntityAggregateAddedDomainEvent.From(aggregationId, name, email, version);
                Apply(change);

                // it is always new
                Raise(change);
            }
            ValidationResults = name.ValidationResults;
        }
Example #5
0
        internal EventStreamBusinessEntityAggregateRoot(Name name, Email email, VersionId version)
            : base(EntityTestId.GetNext(), version, AggregationName.From(nameof(EventStreamBusinessEntityAggregateRoot)))
        {
            if (name.ValidationStatus.IsValid && email.ValidationStatus.IsValid)
            {
                var change = TestEntityAggregateAddedDomainEvent.From(AggregateId, name, email, version);
                Apply(change);

                // it is always new
                Raise(change);
            }

            AppendValidationResult(name.ValidationStatus.Failures);
            AppendValidationResult(email.ValidationStatus.Failures);
        }