BF2Statistics.Web.ASP.GetLeaderBoard.DoKit C# (CSharp) Method

DoKit() private method

private DoKit ( ) : void
return void
        private void DoKit()
        {
            // Make sure we have a score sub type
            int KitId = 0;
            if (String.IsNullOrWhiteSpace(Id) || !Int32.TryParse(Id, out KitId))
            {
                Response.WriteResponseStart(false);
                Response.WriteHeaderLine("asof", "err");
                Response.WriteDataLine(DateTime.UtcNow.ToUnixTimestamp(), "Invalid Syntax!");
                Response.Send();
                return;
            }

            // Get total number of players who have at least 1 kill in kit
            int Count = Database.ExecuteScalar<int>(String.Format("SELECT COUNT(id) AS count FROM kits WHERE kills{0} > 0", Id));
            Response.WriteResponseStart();
            Response.WriteHeaderLine("size", "asof");
            Response.WriteDataLine(Count, DateTime.UtcNow.ToUnixTimestamp());

            // Build New Header Output
            Response.WriteHeaderLine("n", "pid", "nick", "killswith", "deathsby", "timeplayed", "playerrank", "countrycode");

            // Get Leaderboard Positions
            string Query = String.Format("SELECT player.id AS plid, name, rank, country, kills{0} AS kills, deaths{0} AS deaths, time{0} AS time"
                + " FROM player NATURAL JOIN kits WHERE kills{0} > 0 ORDER BY kills{0} DESC, name DESC", KitId);

            if (Pid == 0)
                Query += String.Format(" LIMIT {0}, {1}", Min, Max);

            List<Dictionary<string, object>> Rows = Database.Query(Query);
            foreach (Dictionary<string, object> Player in Rows)
            {
                if (Pid == 0 || Int32.Parse(Player["plid"].ToString()) == Pid)
                {
                    Response.WriteDataLine(
                        Pos,
                        Player["plid"],
                        Player["name"].ToString().Trim(),
                        Player["kills"],
                        Player["deaths"],
                        Player["time"],
                        Player["rank"],
                        Player["country"].ToString().ToUpper()
                    );

                    if (Pid != 0)
                        break;
                }
                Pos++;
            }

            // Send Response
            Response.Send();
        }