示例#1
0
        public void Handle(PostDeleted @event)
        {
            var collection = CreateCollection();

            var find = Query.EQ("_id", @event.AggregateRootId);

            collection.Remove(find, RemoveFlags.Single);
        }
        public async Task Setup()
        {
            _post = PostFactories.Post();

            _command = new DeletePost
            {
                BlogId          = Guid.NewGuid(),
                AggregateRootId = Guid.NewGuid()
            };

            _postRepositoryMock = new Mock <IPostRepository>();
            _postRepositoryMock
            .Setup(x => x.GetByIdAsync(_command.BlogId, _command.AggregateRootId))
            .ReturnsAsync(_post);
            _postRepositoryMock
            .Setup(x => x.UpdateAsync(It.IsAny <Post>()))
            .Callback <Post>(p => _updatedPost = p)
            .Returns(Task.CompletedTask);

            _commandHandler = new DeletePostHandler(_postRepositoryMock.Object);
            _result         = await _commandHandler.HandleAsync(_command);

            _event = _updatedPost.Events.OfType <PostDeleted>().Single();
        }
示例#3
0
 public void Apply(PostDeleted @event)
 {
     // TODO: How the f**k do we handle this?!
 }
示例#4
0
 private void Apply(PostDeleted @event)
 {
     Status          = PostStatus.Deleted;
     StatusTimeStamp = @event.TimeStamp;
 }
示例#5
0
 public void Apply(PostDeleted @event)
 {
     // TODO: How the f**k do we handle this?!
 }
示例#6
0
 public void Setup()
 {
     _post = PostFactories.Post();
     _post.Delete();
     _event = _post.Events.OfType <PostDeleted>().Single();
 }