public void AddOrUpdateGame(Guid clientId, GameMetaModel game) { var existingGames = games.Get(clientId); if (existingGames == null) { existingGames = new List<GameMetaModel>(); games[clientId] = existingGames; } var existingGame = existingGames.FirstOrDefault(x => x.id == game.id); if (existingGame != null) { game.CopyProperties(existingGame); } else { existingGames.Add(game); } }