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; }
public virtual void add(gameZone NewGameZone) { this.List.Add(NewGameZone); }