Example #1
0
        public void getCharacterList()
        {
            DataGridViewColumn sortColumn = dgvCharacters.SortedColumn;

            if (sortColumn != null)
            {
                if (sortColumn.Index >= 0)
                {
                    switch (dgvCharacters.SortOrder)
                    {
                    case SortOrder.Ascending:
                        lsDirection = ListSortDirection.Ascending;
                        break;

                    case SortOrder.Descending:
                        lsDirection = ListSortDirection.Descending;
                        break;

                    default:
                        lsDirection = ListSortDirection.Descending;
                        break;
                    }
                }
            }
            dgvCharacters.Rows.Clear();
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            conn2 = conn.Clone();
            conn3 = conn.Clone();
            conn4 = conn.Clone();
            string myZoneQuery = "";

            myZoneQuery = "Select zoneid,name from zone_settings;";

            MySqlCommand    myZoneCmd    = new MySqlCommand(myZoneQuery, conn);
            MySqlDataReader zoneReader   = myZoneCmd.ExecuteReader();
            gameZones       colGameZones = new gameZones();
            gameZone        gZone;

            conn2.Open();
            conn3.Open();
            conn4.Open();
            while (zoneReader.Read())
            {
                gZone = new gameZone();
                int value;
                // If we're running DLX we have to convert it to an integer, they're stored as hex values, otherwise just suck it in
                value = Int32.Parse((zoneReader["zoneid"].ToString()), System.Globalization.NumberStyles.Integer);

                gZone.id   = value;
                gZone.zone = zoneReader["name"].ToString().Replace('_', ' ');
                colGameZones.add(gZone);
            }
            zoneReader.Close();
            zoneReader.Dispose();
            string          myQuery    = "Select charid,accid,charname,pos_zone from chars order by charid;";
            MySqlCommand    myCmd      = new MySqlCommand(myQuery, conn);
            MySqlDataReader reader     = myCmd.ExecuteReader();
            string          foundZone  = "";
            Image           listImg    = null;
            int             charcount  = 0;
            int             charOnline = 0;

            while (reader.Read())
            {
                foreach (gameZone gameZone in colGameZones)
                {
                    if (gameZone.id == (Convert.ToInt32(reader["pos_zone"].ToString())))
                    {
                        foundZone = gameZone.zone.Replace('_', ' ');
                        break;
                    }
                }
                string myQuery2 = "select INET_NTOA(client_addr) from accounts_sessions where charid=" + reader["charid"] + ";";

                MySqlCommand myCmd2 = new MySqlCommand(myQuery2, conn2);
                string       charIP = (string)myCmd2.ExecuteScalar();
                if (charIP != null)
                {
                    listImg = imgOnline;
                    charOnline++;
                }
                else
                {
                    listImg = imgOffline;
                }
                string       myQuery3 = "select login from accounts where id=" + reader["accid"].ToString() + ";";
                MySqlCommand myCmd3   = new MySqlCommand(myQuery3, conn3);
                string       result2  = (string)myCmd3.ExecuteScalar();
                string       myQuery4 = "select timelastmodify from accounts where id=" + reader["accid"].ToString() + ";";
                MySqlCommand myCmd4   = new MySqlCommand(myQuery4, conn4);
                string       result3  = Convert.ToString(myCmd4.ExecuteScalar());
                dgvCharacters.Rows.Add(listImg, reader["charid"].ToString(), result2, reader["charname"].ToString(), foundZone, charIP, result3);
                charcount++;
            }
            string       query         = "select count(distinct client_addr) from accounts_sessions;";
            MySqlCommand myCmd0        = new MySqlCommand(query, conn3);
            string       distinctUsers = Convert.ToString(myCmd0.ExecuteScalar());

            reader.Close();
            conn2.Close();
            conn3.Close();
            conn4.Close();

            if (sortColumn != null)
            {
                dgvCharacters.Sort(dgvCharacters.Columns[sortColumn.Index], lsDirection);
            }
            tlstrNumbers.Text = "Total: " + charcount.ToString() + "   Characters Online: " + charOnline.ToString() + " Distinct: " + distinctUsers;
        }
Example #2
0
 public virtual void add(gameZone NewGameZone)
 {
     this.List.Add(NewGameZone);
 }