Beispiel #1
0
        public void Handle(PostPublishedDomainEvent domainEvent)
        {
            Post post = postReadOnlyRepository.GetPost(domainEvent.AggregateRootId).Result;

            if (post.Version != domainEvent.Version)
                throw new TransactionConflictException(post, domainEvent);

            post.Apply(domainEvent);
            postWriteOnlyRepository.UpdatePost(post).Wait();
        }
        protected override void Handle(PostHiddenDomainEvent domainEvent)
        {
            Post post = postReadOnlyRepository.GetPost(domainEvent.AggregateRootId).Result;

            if (post.Version != domainEvent.Version)
            {
                throw new TransactionConflictException(post, domainEvent);
            }

            post.Apply(domainEvent);
            postWriteOnlyRepository.UpdatePost(post).Wait();
        }