Beispiel #1
0
    public async Task UpdatePlayerStatAsync(EUserStats userStat, PlayerStatBlock statBlock)
    {
        DbCommand dbCommand   = ConnectionManager.GetConnection().CreateCommand();
        string    updateQuery = "UPDATE UserStats SET " + userStat.ToString() + " = @" + userStat.ToString() + " WHERE userID = @ID;";

        ConnectionManager.CreateNamedParamater("@ID", UserSessionManager.GetID(), dbCommand);
        switch (userStat)
        {
        case EUserStats.distanceTraveled:
            ConnectionManager.CreateNamedParamater("@" + userStat.ToString(), statBlock.totalDistanceTraveled, dbCommand);
            break;

        case EUserStats.goldEarned:
            ConnectionManager.CreateNamedParamater("@" + userStat.ToString(), statBlock.totalGoldCollected, dbCommand);
            break;

        case EUserStats.nodesHarvested:
            ConnectionManager.CreateNamedParamater("@" + userStat.ToString(), statBlock.totalGatheringPointsHarvested, dbCommand);
            break;

        default:
            break;
        }


        dbCommand.CommandText = updateQuery;
        await Task.Run(() => dbCommand.ExecuteNonQuery());

        dbCommand.Dispose();
    }
Beispiel #2
0
    public async Task <PlayerStatBlock> GetUserStatsFromDBAsync()
    {
        //ConnectionManager.OpenInstanceConnection();

        DbCommand dbCommand = ConnectionManager.GetConnection().CreateCommand();

        string selectQuery = "SELECT nodesHarvested, distanceTraveled, goldEarned FROM UserStats WHERE UserID = @ID;";

        ConnectionManager.CreateNamedParamater("@ID", UserSessionManager.GetID(), dbCommand);

        dbCommand.CommandText = selectQuery;
        Task <DbDataReader> readerTask = dbCommand.ExecuteReaderAsync();

        PlayerStatBlock statBlock = new PlayerStatBlock();


        DbDataReader reader = await readerTask;

        while (reader.Read())
        {
            statBlock.totalGatheringPointsHarvested = reader.GetInt32(0);
            statBlock.totalDistanceTraveled         = reader.GetFloat(1);
            statBlock.totalGoldCollected            = reader.GetInt32(2);
        }
        reader.Close();
        reader.Dispose();
        dbCommand.Dispose();

        //ConnectionManager.CloseInstanceConnection();

        return(statBlock);
    }
        public GameData()
        {
            Inventory pPlayerInventeory = new Inventory();

            mInventory = pPlayerInventeory;
            PlayerStatBlock pStats = new PlayerStatBlock(pPlayerInventeory);

            mStats = pStats;
        }
Beispiel #4
0
    public async Task UpdatePlayerStatsAllAsync(PlayerStatBlock statBlock)
    {
        //ConnectionManager.OpenInstanceConnection();
        DbCommand dbCommand   = ConnectionManager.GetConnection().CreateCommand();
        string    updateQuery = "UPDATE UserStats SET nodesHarvested = @nodesHarvested, distanceTraveled = @distanceTraveled, goldEarned = @goldEarned WHERE userID = @ID;";

        ConnectionManager.CreateNamedParamater("@nodesHarvested", statBlock.totalGatheringPointsHarvested, dbCommand);
        ConnectionManager.CreateNamedParamater("@distanceTraveled", statBlock.totalDistanceTraveled, dbCommand);
        ConnectionManager.CreateNamedParamater("@goldEarned", statBlock.totalGoldCollected, dbCommand);
        ConnectionManager.CreateNamedParamater("@ID", UserSessionManager.GetID(), dbCommand);

        dbCommand.CommandText = updateQuery;

        await Task.Run(() => dbCommand.ExecuteNonQuery());

        dbCommand.Dispose();
        //ConnectionManager.CloseInstanceConnection();
    }