예제 #1
0
        public async Task HandleAsync(TodoItemMarkedAsComplete @event)
        {
            var todoItem = await this._unitOfWork.Repository <TodoItem>().GetByIdAsync(@event.SourceId);

            todoItem.IsComplete = true;
            todoItem.Version    = @event.Version;
            this._unitOfWork.Repository <TodoItem>().Update(todoItem);
            await this._unitOfWork.SaveChangesAsync();
        }
예제 #2
0
        public void MarkTodoItemAsComplete()
        {
            if (this.IsComplete)
            {
                throw new DomainValidationException("Todo item is already marked as complete");
            }
            var @event = new TodoItemMarkedAsComplete();

            ApplyEvent(@event);
        }
 public async Task HandleAsync(TodoItemMarkedAsComplete @event)
 {
     await Task.Delay(500);
 }
예제 #4
0
 public void When(TodoItemMarkedAsComplete @event)
 {
     this.IsComplete = true;
 }