BF2Statistics.ASP.StatsProcessor.Snapshot.SmocCheck C# (CSharp) Method

SmocCheck() private method

Determines if a new player has has earned the new Smoc rank, and awards it
private SmocCheck ( StatsDatabase Driver ) : void
Driver BF2Statistics.Database.StatsDatabase
return void
        private void SmocCheck(StatsDatabase Driver)
        {
            Log("Processing SMOC Rank", LogLevel.Notice);

            // Vars
            List<Dictionary<string, object>> Rows;
            List<Dictionary<string, object>> Players;

            // Fetch all Sergeant Major's, Order by Score
            Players = Driver.Query("SELECT id, score FROM player WHERE rank=10 OR rank=11 ORDER BY score DESC LIMIT 1");
            if (Players.Count == 1)
            {
                int Id = Int32.Parse(Players[0]["id"].ToString());

                // Check for currently awarded Smoc
                Rows = Driver.Query("SELECT id, earned FROM awards WHERE awd=6666666 LIMIT 1");
                if (Rows.Count > 0)
                {
                    // Check for same and determine if minimum tenure servred
                    int MinTenure = Program.Config.ASP_SpecialRankTenure * 86400;
                    int Sid = Int32.Parse(Rows[0]["id"].ToString());
                    int Earned = Int32.Parse(Rows[0]["earned"].ToString());

                    // Assign new Smoc If the old SMOC's tenure is up, and the current SMOC is not the highest scoring SGM
                    if (Id != Sid && (Earned + MinTenure) < this.RoundEndTime)
                    {
                        // Delete old SMOC's award
                        Driver.Execute("DELETE FROM awards WHERE id=@P0 AND awd=6666666", Sid);

                        // Change current SMOC rank back to SGM
                        Driver.Execute("UPDATE player SET rank=10, chng=0, decr=1 WHERE id =" + Sid);

                        // Award new SMOC award
                        Driver.Execute("INSERT INTO awards(id,awd,earned) VALUES(@P0,@P1,@P2)", Id, 6666666, this.RoundEndTime);

                        // Update new SMOC's rank
                        Driver.Execute("UPDATE player SET rank=11, chng=1, decr=0 WHERE id =" + Id);
                    }
                }
                else
                {
                    // Award SGMOC award
                    Driver.Execute("INSERT INTO awards(id,awd,earned) VALUES(@P0,@P1,@P2)", Id, 6666666, this.RoundEndTime);

                    // Update SGMOC rank
                    Driver.Execute("UPDATE player SET rank=11, chng=1, decr=0 WHERE id =" + Id);
                }
            }
        }