Beispiel #1
0
        public void UnMapGameDataTest()
        {
            L_GameData sampleGameDataL = new L_GameData
            {
                DataId     = 100,
                GameId     = 1,
                GameName   = "Memory Bingo",
                Difficulty = 10,
                Question   = "Test Question.",
                Answer     = "Test Answer."
            };

            D_GameData sampleGameDataD = new D_GameData
            {
                DataId     = 100,
                GameId     = 1,
                Difficulty = 10,
                Question   = "Test Question.",
                Answer     = "Test Answer."
            };

            D_GameData resultGameDataD = Mapper.UnMapGameData(sampleGameDataL);

            Assert.True(compareGameDataD(resultGameDataD, sampleGameDataD));
        }
Beispiel #2
0
        public void MapGameDataTest()
        {
            D_GameData sampleGameDataD = new D_GameData
            {
                DataId     = 100,
                GameId     = 100,
                Difficulty = 10,
                Question   = "Test Question.",
                Answer     = "Test Answer.",
                Game       = new D_Game
                {
                    GameName = "Test Game."
                }
            };

            L_GameData sampleGameDataL = new L_GameData
            {
                DataId     = 100,
                GameId     = 100,
                GameName   = "Test Game.",
                Difficulty = 10,
                Question   = "Test Question.",
                Answer     = "Test Answer."
            };

            L_GameData resultGameDataL = Mapper.MapGameData(sampleGameDataD);

            Assert.True(compareGameDataL(resultGameDataL, sampleGameDataL));
        }
        /// <summary> Fetches one game data related to its id.
        /// <param name="gameDataId"> int (game data id) </param>
        /// <returns> A single game data related to input id </returns>
        /// </summary>
        public async Task <L_GameData> GetGameDataById(int gameDataId)
        {
            _logger.LogInformation($"Retrieving game data with id: {gameDataId}");
            D_GameData returnGameData = await _dbContext.GameDatas
                                        .Include(p => p.Game)
                                        .FirstOrDefaultAsync(p => p.DataId == gameDataId);

            return(Mapper.MapGameData(returnGameData));
        }
Beispiel #4
0
// ! XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// ! ------  GAME DATA  ---------
// ! XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        public static L_GameData MapGameData(D_GameData gameData)
        {
            return(new L_GameData
            {
                DataId = gameData.DataId,
                GameId = gameData.GameId,
                GameName = gameData.Game.GameName,
                Difficulty = gameData.Difficulty,
                Question = gameData.Question,
                Answer = gameData.Answer
            });
        }
        /// <summary> Changes all game data related to a particular existing game data.
        /// <param name="inputGameData"> object L_GameData (name of object) - This is a logic object of type game data. </param>
        /// <returns> void </returns>
        /// </summary>
        public async Task UpdateGameData(L_GameData inputGameData)
        {
            _logger.LogInformation($"Updating game data with ID {inputGameData.DataId}");
            D_GameData currentEntity = await _dbContext.GameDatas
                                       .Include(p => p.Game)
                                       .FirstOrDefaultAsync(p => p.DataId == inputGameData.DataId);

            D_GameData newEntity = Mapper.UnMapGameData(inputGameData);

            _dbContext.Entry(currentEntity).CurrentValues.SetValues(newEntity);
            Save();
        }
Beispiel #6
0
 private bool compareGameDataD(D_GameData x, D_GameData y)
 {
     if (
         x.Answer != y.Answer ||
         x.DataId != y.DataId ||
         x.Difficulty != y.Difficulty ||
         x.GameId != y.GameId ||
         x.Question != y.Question
         )
     {
         return(false);
     }
     return(true);
 }
        /// <summary> Deletes one game data related to a game data id.
        /// <param name="gameDataId"> int (game data id) </param>
        /// <returns> void </returns>
        /// </summary>
        public async Task DeleteGameDataById(int gameDataId)
        {
            _logger.LogInformation($"Deleting game data with ID {gameDataId}");
            D_GameData entity = await _dbContext.GameDatas
                                .Include(p => p.Game)
                                .FirstOrDefaultAsync(p => p.DataId == gameDataId);

            if (entity == null)
            {
                _logger.LogInformation($"Game data ID {gameDataId} not found to delete! : Returning.");
                return;
            }
            _dbContext.Remove(entity);
            Save();
        }
        /// <summary> Adds a new game data to the database.
        /// <param name="inputGameData"> object L_GameData (name of object) - This is a logic object of type game data. </param>
        /// <returns> void </returns>
        /// </summary>
        public void AddGameData(L_GameData inputGameData)
        {
            if (inputGameData.DataId != 0)
            {
                _logger.LogWarning($"Game data to be added has an ID ({inputGameData.DataId}) already!");
                throw new ArgumentException("Id already exists when trying to add a new game data!", $"{inputGameData.DataId}");
            }

            _logger.LogInformation("Adding game data.");

            D_GameData entity = Mapper.UnMapGameData(inputGameData);

            entity.DataId = 0;
            _dbContext.Add(entity);
            Save();
        }