public async Task <Unit> Handle(Faul request, CancellationToken cancellationToken) { await ValidateGame(request.GameId); var isSuccesful = await gameRepository.AddFaul(new Persistence.Entities.Faul() { GameId = request.GameId, PlayerNumber = request.PlayerNumber, Team = request.Team }); if (!isSuccesful) { throw new Exception($"Faul with gameid :{request.GameId} couldnt be added"); } await this.eventBus.Publish(new PlayerHasFauled(request.GameId, request.Team, request.PlayerNumber)); return(Unit.Value); }