Beispiel #1
0
        public void Handle(PostCreatedDomainEvent domainEvent)
        {
            Blog blog = blogReadOnlyRepository.GetBlog(domainEvent.BlogId).Result;

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

            Post post = Post.Create();

            post.Apply(domainEvent);

            postWriteOnlyRepository.AddPost(post).Wait();

            blog.Apply(domainEvent);
            blogWriteOnlyRepository.UpdateBlog(blog).Wait();
        }