Example #1
0
        public async Task Handle(HidePostCommand command)
        {
            Post post = await postReadOnlyRepository.GetPost(command.Id);

            post.Hide();

            await bus.Publish(post.GetEvents(), command.Header);
        }
Example #2
0
        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);
        }
Example #6
0
        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);
        }
Example #7
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();
        }
Example #9
0
        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);
        }
Example #10
0
        public async Task <IActionResult> Get(Guid id)
        {
            var post = await postQueries.GetPost(id);

            return(Ok(post));
        }