Ejemplo n.º 1
0
        public static async Task <IActionResult> DeleteScore(
            [HttpTrigger(AuthorizationLevel.Anonymous, "delete", Route = "deletelatestscore/{playerID}")] HttpRequest req, int playerID,
            ILogger log)
        {
            try
            {
                string      requestBody = await new StreamReader(req.Body).ReadToEndAsync();
                Trappenspel scoreObj    = JsonConvert.DeserializeObject <Trappenspel>(requestBody);

                string connectionString = Environment.GetEnvironmentVariable("connectionString");

                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    await connection.OpenAsync();

                    using (SqlCommand command = new SqlCommand())
                    {
                        command.Connection = connection;

                        // insert statement
                        command.CommandText = "DELETE FROM tbLeaderboard WHERE playerID = @playerID";

                        command.Parameters.AddWithValue("@playerID", playerID);

                        await command.ExecuteNonQueryAsync();
                    }
                }
                return(new OkObjectResult(scoreObj));
            }
            catch (Exception ex)
            {
                log.LogError(ex.Message);
                return(new StatusCodeResult(500));
            }
        }
Ejemplo n.º 2
0
        public static async Task <IActionResult> GetPersonalLeaderBoard(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "personalleaderboard/{playername}")] HttpRequest req, string playername,
            ILogger log)
        {
            try
            {
                List <Trappenspel> leaderboard = new List <Trappenspel>();

                string connectionString = Environment.GetEnvironmentVariable("connectionString");
                using (SqlConnection sqlConnection = new SqlConnection(connectionString))
                {
                    await sqlConnection.OpenAsync();

                    using (SqlCommand sqlCommand = new SqlCommand())
                    {
                        sqlCommand.Connection  = sqlConnection;
                        sqlCommand.CommandText = "SELECT * FROM tbLeaderboard WHERE playername = @playername ORDER BY score DESC";

                        sqlCommand.Parameters.AddWithValue("@playername", playername);


                        SqlDataReader reader = await sqlCommand.ExecuteReaderAsync();

                        while (reader.Read())
                        {
                            Trappenspel newLeaderboard = new Trappenspel();

                            newLeaderboard.PlayerID   = int.Parse(reader["playerID"].ToString());
                            newLeaderboard.Playername = reader["playername"].ToString();
                            newLeaderboard.Score      = int.Parse(reader["score"].ToString());
                            newLeaderboard.Difficulty = reader["difficulty"].ToString();
                            newLeaderboard.Date       = DateTime.Parse(reader["date"].ToString());
                            newLeaderboard.Steps      = int.Parse(reader["steps"].ToString());
                            leaderboard.Add(newLeaderboard);
                        }
                    }
                }
                return(new ObjectResult(leaderboard));
            }
            catch (Exception ex)
            {
                log.LogError(ex.Message);
                return(new StatusCodeResult(500));
            }
        }
Ejemplo n.º 3
0
        public static async Task <IActionResult> GetLeaderBoardDifficulty(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "leaderboard/{difficulty}")] HttpRequest req, string difficulty,
            ILogger log)
        {
            try
            {
                List <Trappenspel> leaderboard = new List <Trappenspel>();

                string connectionString = Environment.GetEnvironmentVariable("connectionString");
                using (SqlConnection sqlConnection = new SqlConnection(connectionString))
                {
                    await sqlConnection.OpenAsync();

                    using (SqlCommand sqlCommand = new SqlCommand())
                    {
                        sqlCommand.Connection  = sqlConnection;
                        sqlCommand.CommandText = "SELECT t.playerID, t.playername, t.score, t.date, t.difficulty, t.steps FROM ( SELECT playername, MAX(score) AS score FROM tbLeaderboard where score != 0 AND difficulty = @difficulty GROUP BY playername ) AS m INNER JOIN tbLeaderboard AS t ON t.playername = m.playername AND t.score = m.score ORDER BY score DESC";

                        sqlCommand.Parameters.AddWithValue("@difficulty", difficulty);

                        SqlDataReader reader = await sqlCommand.ExecuteReaderAsync();

                        while (reader.Read())
                        {
                            Trappenspel newLeaderboard = new Trappenspel();

                            newLeaderboard.PlayerID   = int.Parse(reader["playerID"].ToString());
                            newLeaderboard.Playername = reader["playername"].ToString();
                            newLeaderboard.Score      = int.Parse(reader["score"].ToString());
                            newLeaderboard.Difficulty = reader["difficulty"].ToString();
                            newLeaderboard.Date       = DateTime.Parse(reader["date"].ToString());
                            newLeaderboard.Steps      = int.Parse(reader["steps"].ToString());
                            leaderboard.Add(newLeaderboard);
                        }
                    }
                }
                return(new ObjectResult(leaderboard));
            }
            catch (Exception ex)
            {
                log.LogError(ex.Message);
                return(new StatusCodeResult(500));
            }
        }
Ejemplo n.º 4
0
        public static async Task <IActionResult> PostLeaderboard(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "postleaderboard")] HttpRequest req,
            ILogger log)
        {
            try
            {
                string      requestBody    = await new StreamReader(req.Body).ReadToEndAsync();
                Trappenspel TrappenspelObj = JsonConvert.DeserializeObject <Trappenspel>(requestBody);

                string connectionString = Environment.GetEnvironmentVariable("connectionString");

                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    await connection.OpenAsync();

                    using (SqlCommand command = new SqlCommand())
                    {
                        command.Connection = connection;

                        // insert statement
                        //command.CommandText = "INSERT INTO tbLeaderboard (playerid, playername, score, date, difficulty, steps) SELECT @playerid, @playername, @score, @date, @difficulty, @steps WHERE NOT EXISTS (SELECT playerid, playername, score, date, difficulty, steps FROM tblTrappenspel WHERE playerid = @playerid)";
                        command.CommandText = "INSERT INTO tbLeaderboard VALUES (@playername, @score, @date, @difficulty, @steps, @googleid)";

                        command.Parameters.AddWithValue("@playerid", TrappenspelObj.PlayerID);
                        command.Parameters.AddWithValue("@playername", TrappenspelObj.Playername);
                        command.Parameters.AddWithValue("@score", TrappenspelObj.Score);
                        command.Parameters.AddWithValue("@date", DateTime.Now);
                        command.Parameters.AddWithValue("@difficulty", TrappenspelObj.Difficulty);
                        command.Parameters.AddWithValue("@steps", TrappenspelObj.Steps);
                        command.Parameters.AddWithValue("@googleid", TrappenspelObj.Googleid);

                        await command.ExecuteNonQueryAsync();
                    }
                }
                return(new OkObjectResult(TrappenspelObj));
            }
            catch (Exception ex)
            {
                log.LogError(ex.Message);
                return(new StatusCodeResult(500));
            }
        }
Ejemplo n.º 5
0
        public static async Task <IActionResult> GetGoogleAccounts(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "getgoogle")] HttpRequest req,
            ILogger log)
        {
            try
            {
                List <Trappenspel> leaderboard = new List <Trappenspel>();

                string connectionString = Environment.GetEnvironmentVariable("connectionString");
                using (SqlConnection sqlConnection = new SqlConnection(connectionString))
                {
                    await sqlConnection.OpenAsync();

                    using (SqlCommand sqlCommand = new SqlCommand())
                    {
                        sqlCommand.Connection  = sqlConnection;
                        sqlCommand.CommandText = "select distinct playername, googleid from tbLeaderboard where googleid != ''";

                        SqlDataReader reader = await sqlCommand.ExecuteReaderAsync();

                        while (reader.Read())
                        {
                            Trappenspel newLeaderboard = new Trappenspel();
                            newLeaderboard.Playername = reader["playername"].ToString();
                            newLeaderboard.Googleid   = reader["googleid"].ToString();
                            leaderboard.Add(newLeaderboard);
                        }
                    }
                }
                return(new ObjectResult(leaderboard));
            }
            catch (Exception ex)
            {
                log.LogError(ex.Message);
                return(new StatusCodeResult(500));
            }
        }