BF2Statistics.Web.ASP.GetPlayerInfo.DoFullRequest C# (CSharp) Method

DoFullRequest() public method

Produces a FULL player response for BF2HQ
public DoFullRequest ( ) : void
return void
        public void DoFullRequest()
        {
            // Fetch Player
            Rows = Database.Query("SELECT * FROM player WHERE id=@P0", Pid);

            // If player doesnt exist then output default dataB
            if (Rows.Count == 0)
            {
                Response.WriteResponseStart(false);
                Response.WriteHeaderLine("asof", "err");
                Response.WriteDataLine(DateTime.UtcNow.ToUnixTimestamp(), "Player Doesnt Exist");
                Response.Send();
                return;
            }
            else
            {
                Response.WriteResponseStart();
                Response.WriteHeaderLine("asof");
                Response.WriteDataLine(DateTime.UtcNow.ToUnixTimestamp());
            }

            // Add Player Data
            Dictionary<string, object> Player = Rows[0];
            Rows = null;
            float Time = float.Parse(Player["time"].ToString());

            // Start adding Player Data
            Out.Add("pid", Player["id"]);
            Out.Add("nick", Player["name"].ToString().Trim());
            Out.Add("scor", Player["score"]);
            Out.Add("jond", Player["joined"]);
            Out.Add("wins", Player["wins"]);
            Out.Add("loss", Player["losses"]);
            Out.Add("mode0", Player["mode0"]);
            Out.Add("mode1", Player["mode1"]);
            Out.Add("mode2", Player["mode2"]);
            Out.Add("time", Player["time"]);
            Out.Add("smoc", (Int32.Parse(Player["rank"].ToString()) == 11) ? 1 : 0);
            Out.Add("cmsc", Player["skillscore"]);
            Out.Add("osaa", " "); // Overall small-arms accuracy, Filled Later
            Out.Add("kill", Player["kills"]);
            Out.Add("kila", Player["damageassists"]);
            Out.Add("deth", Player["deaths"]);
            Out.Add("suic", Player["suicides"]);
            Out.Add("bksk", Player["killstreak"]);
            Out.Add("wdsk", Player["deathstreak"]);
            Out.Add("tvcr", "0");    // Top Victim, Filled Later
            Out.Add("topr", "0");    // Top Oppenent, Filled Later
            Out.Add("klpm", Math.Round((60 * (float.Parse(Player["kills"].ToString()) / Time)), 2));    // Kills per minute
            Out.Add("dtpm", Math.Round((60 * (float.Parse(Player["deaths"].ToString()) / Time)), 2));   // Deaths per Minute
            Out.Add("ospm", Math.Round((60 * (float.Parse(Player["score"].ToString()) / Time)), 2));    // Score Per Minute
            Out.Add("klpr", Math.Round((float.Parse(Player["kills"].ToString()) / float.Parse(Player["rounds"].ToString())), 2));   // Kills Per Round
            Out.Add("dtpr", Math.Round((float.Parse(Player["deaths"].ToString()) / float.Parse(Player["rounds"].ToString())), 2));  // Deaths Per Round
            Out.Add("twsc", Player["teamscore"]);   // Teamwork Score
            Out.Add("cpcp", Player["captures"]);    // Capture Control Points
            Out.Add("cacp", Player["captureassists"]);    // Capture Assist Points
            Out.Add("dfcp", Player["defends"]);     // Capture Control Defend Points
            Out.Add("heal", Player["heals"]);       // Player Heals
            Out.Add("rviv", Player["revives"]);     // Player Revives
            Out.Add("rsup", Player["ammos"]);       // Player Resupplies
            Out.Add("rpar", Player["repairs"]);     // Player Repairs
            Out.Add("tgte", Player["targetassists"]);     // Times Targeted Enemy
            Out.Add("dkas", Player["driverassists"]);     // Kill assists as Database
            Out.Add("dsab", Player["driverspecials"]);    // Database special ability points
            Out.Add("cdsc", Player["cmdscore"]);    // Command Score
            Out.Add("rank", Player["rank"]);        // Player Rank
            Out.Add("kick", Player["kicked"]);      // Number of times Kicked from server the player has
            Out.Add("bbrs", Player["rndscore"]);    // Best Round Score
            Out.Add("tcdr", Player["cmdtime"]);     // Time As Commander
            Out.Add("ban", Player["banned"]);       // Times Banned
            Out.Add("lbtl", Player["lastonline"]);  // Player Last Battle
            Out.Add("vrk", "0");    // Vehicle Road Kills, Filled Later
            Out.Add("tsql", Player["sqltime"]);     // Time As Squad Leaders
            Out.Add("tsqm", Player["sqmtime"]);     // Time As Squad Members
            Out.Add("tlwf", Player["lwtime"]);      // Time As Lone Wolf
            Out.Add("mvks", "0");      // Top Victim Kills
            Out.Add("vmks", "0");      // Top Opponent Kills
            Out.Add("mvns", " ");      // Top Victim Name, Filled Later
            Out.Add("mvrs", " ");      // Top Victim Rank, Filled Later
            Out.Add("vmns", " ");      // Top Opponent Name, Filled Later
            Out.Add("vmrs", " ");      // Top Opponent Rank, Filled Later
            Out.Add("fkit", "");      // Favorite Kit, Filled Later
            Out.Add("fmap", "");      // Favorite Map, Filled Later
            Out.Add("fveh", "");      // Favorite Vehicle, Filled Later
            Out.Add("fwea", "");      // Favorite Weapon, Filled Later
            Out.Add("tnv", "0");      // NIGHT VISION GOGGLES Time - NOT USED
            Out.Add("tgm", "0");      // GAS MASK TIME - NOT USED

            // Proccess Weapons
            AddWeaponData();

            // Process Vehicles
            AddVehicleData();

            // Process Armies
            AddArmyData();

            // Process Kits
            AddKitData();

            // Get tactical data
            AddTacticalData();

            // Get Player Top Victim and Opponent
            GetPlayerTopVitcimAndOpp();

            // Get Favorite Map
            GetFavMap();

            // Do output
            Response.WriteHeaderDataPair(Out);
            Response.Send();
        }