private PlayerGameEntity GetPlayerGameEntity(GameStatBE gsbe) { var pge = new PlayerGameEntity { assists = (short)gsbe.Assists, ga = (short)gsbe.GoalsAgainst, game_id = (short)gsbe.GameID, goals = (short)gsbe.Goals, player_id = (short)gsbe.PlayerID, saves = (short)gsbe.Saves }; return(pge); }
private GameStatBE GetEntity(PlayerGameEntity pge) { if (null == pge) { return(null); } var result = new GameStatBE { Assists = pge.assists, GameID = pge.game_id, Goals = pge.goals, GoalsAgainst = pge.ga, PlayerID = pge.player_id, Saves = pge.saves, SeasonID = pge.Game.game_season_id }; return(result); }
public static void ProcessPlayerGame(Int64 playerId, PlayerGameData gameData, Guid gameId, Int64 gameSeconds) { // Create the batch operation. TableBatchOperation batchOperation = new TableBatchOperation(); //TODO: Get Player Row PlayerEntity player = PlayerEntity.GetPlayerEntity(playerId); batchOperation.InsertOrReplace(player); //Update Player Entity with Game Data player.TotalDeaths += gameData.Deaths; player.TotalKills += gameData.Kills; player.TotalPoints += gameData.Points; player.TotalWins += gameData.Win ? 1 : 0; player.TotalGames += 1; player.TotalSecondsPlayed += gameSeconds; //Create PlayerGame Row PlayerGameEntity playerGame = new PlayerGameEntity(playerId, gameId) { Points = gameData.Points, Win = gameData.Win, Kills = gameData.Kills, Deaths = gameData.Deaths, GameDuration = gameSeconds }; batchOperation.Insert(playerGame); try { StorageManager.Instance.PlayersTable.ExecuteBatch(batchOperation); } catch (Exception ex) { //TODO: handle exception, check if its because an entity already existed. //This means we've already handled this data. } }