public async Task Handle(HidePostCommand command) { Post post = await postReadOnlyRepository.GetPost(command.Id); post.Hide(); await bus.Publish(post.GetEvents(), command.Header); }
public async Task Handle(PublishPostCommand message) { Post post = await postReadOnlyRepository.GetPost(message.Id); post.Publish(); await bus.Publish(post.GetEvents(), message.Header); }
protected override async Task Handle(EnablePostCommand command, CancellationToken cancellationToken) { Post post = await postReadOnlyRepository.GetPost(command.Id); post.Enable(); await bus.Publish(post.GetEvents(), command.Header); }
public async Task Handle(UpdatePostContentCommand message) { Post post = await postReadOnlyRepository.GetPost(message.Id); post.UpdateContent(Title.Create(message.Title), Content.Create(message.Content)); await bus.Publish(post.GetEvents(), message.Header); }
protected override async Task Handle(UpdatePostContentCommand message, CancellationToken cancellationToken) { Post post = await postReadOnlyRepository.GetPost(message.Id); post.UpdateContent(Title.Create(message.Title), Content.Create(message.Content)); await bus.Publish(post.GetEvents(), message.Header); }
protected override async Task Handle(PublishPostCommand message, CancellationToken cancellationToken) { Post post = await postReadOnlyRepository.GetPost(message.Id); post.Publish(); await bus.Publish(post.GetEvents(), message.Header); }
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(); }
public async Task <Guid> Handle(CreateCommentCommand command) { Post post = await postReadOnlyRepository.GetPost(command.PostId); Comment comment = new Comment(Content.Create(command.Comment)); post.Comment(comment); await bus.Publish(post.GetEvents(), command.Header); return(comment.Id); }
public async Task <IActionResult> Get(Guid id) { var post = await postQueries.GetPost(id); return(Ok(post)); }