protected override void Handle(BlogEnabledDomainEvent domainEvent) { Blog blog = blogReadOnlyRepository.GetBlog(domainEvent.AggregateRootId).Result; if (blog.Version != domainEvent.Version) { throw new TransactionConflictException(blog, domainEvent); } blog.Apply(domainEvent); blogWriteOnlyRepository.UpdateBlog(blog).Wait(); }
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(); }