public async Task <CommandResponse> Handle(CreatedFollowerCommand request, CancellationToken cancellationToken) { var aggregate = await _followerRepository.Find(request.FollowerId); var otherAggregate = await _followerRepository.Find(request.FollowedId); var followed = aggregate.Follow(otherAggregate); var success = await _followerRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken); return(new CommandResponse { Success = success && followed }); }
public async Task ConsumeAsync(UpdatedUserDisplayNameIntegrationEvent message, CancellationToken cancellationToken = new CancellationToken()) { var aggregate = await _followerRepository.Find(message.UserId); aggregate.SetDisplayName(message.DisplayName); bool success = await _followerRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken); if (!success) { throw new Exception("Failed to update user display name"); } }