Example #1
0
        public async Task <CUDMessage> AddGame(string playerName, string gameName)
        {
            // check if player exists
            Player player = await playerService.Get(playerName);

            if (player is null)
            {
                return(new CUDMessage()
                {
                    OK = false,
                    NumAffected = 0,
                    Message = $"Player {playerName} does not exist.",
                });
            }

            // check if player has already owned the game
            if (player.Games.Exists(ele => ele == gameName))
            {
                return(new CUDMessage()
                {
                    OK = false,
                    NumAffected = 0,
                    Message = $"Player {player.DBName} already owns the Game {gameName}.",
                });
            }

            // begin adding the game to player
            CUDMessage message = await playerService.AddGame(playerName, gameName);

            if (!message.OK)
            {
                Console.WriteLine(message.Message);
                message.Message = $"Failed to add game {gameName} to player {playerName}. See logs for details.";
            }
            else
            {
                message.Message = $"Successfully added game {gameName} to player {playerName}.";
            }
            return(message);
        }
Example #2
0
        public async void TestAddGame(Player newPlayer, string aGame, List <string> moreGames)
        {
            // Add a player
            CUDMessage addMessage = await playerService.Add(newPlayer);

            Assert.True(addMessage.OK);

            // Add a game
            CUDMessage addGameMessage = await playerService.AddGame(newPlayer.DBName, aGame);

            Assert.True(addGameMessage.OK);

            // Add more games
            addGameMessage = await playerService.AddGame(newPlayer.DBName, moreGames);

            Assert.True(addGameMessage.OK);

            // Game item check
            Player playerInDB = await playerService.Get(newPlayer.DBName);

            // Last game item should be the same as the last added game item in "moreGames"
            Assert.True(playerInDB.Games[moreGames.Count] == moreGames[moreGames.Count - 1]);
        }