public async Task <GenericResponse <BooleanResponse> > AddUserGame(string shortName, string gameUsername, string gameApiKey, long userId) { // First check if the game exist TGame dbGame = await _gameDataAccess.GetDbGame(shortName); if (dbGame == null) { return(new GenericResponse <BooleanResponse>($"Game {shortName} is not valid", null)); } // Check if the game requires a per-user API key or not if (dbGame.ApiKeyRequired && string.IsNullOrWhiteSpace(gameApiKey)) { return(new GenericResponse <BooleanResponse>($"Game {shortName} requires an API key", null)); } // If it's the case then add GenericResponse <BooleanResponse> res = await _userGameDataAccess.AddUserGame(dbGame, gameUsername, gameApiKey, userId); return(res); }