/// <summary> /// Called when an all client's details request is made. /// </summary> /// <param name="packetHeader">The packet header.</param> /// <param name="connection">The connection.</param> /// <param name="incomingObject"></param> private void HandleAllClientsDetailsRequested(PacketHeader packetHeader, Connection connection, string incomingObject) { if (this.IsClientAuthenticated(connection)) { // AllClientsDetails recovering from database AllClientsDetails allClientsDetails = this.Database.GetAllClientsDetails(); // Send allClientsDetails to the client connection.SendObject <AllClientsDetails>(PACKET_TYPE_ALLCLIENTSDETAILS_REPLY, allClientsDetails); this.NotifyObservers(); } }
/// <summary> /// Retrieves AllClientsDetails from database. /// </summary> /// <returns>An instance of AllClientsDetails containing all clients details.</returns> public AllClientsDetails GetAllClientsDetails() { AllClientsDetails allClientsDetails = new AllClientsDetails(); // Querry string sql = string.Format("select * from Clients order by eloRating desc"); SQLiteCommand command = new SQLiteCommand(sql, this.DBConnection); SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) { int idClient = Convert.ToInt32(reader["idClient"]); string username = reader["username"].ToString(); int registrationDate = Convert.ToInt32(reader["registrationDate"]); int nbWins = Convert.ToInt32(reader["numberOfWins"]); int nbDefeats = Convert.ToInt32(reader["numberOfDefeats"]); int nbTies = Convert.ToInt32(reader["numberOfTies"]); int nbTotal = nbWins + nbDefeats + nbTies; int eloRating = Convert.ToInt32(reader["eloRating"]); allClientsDetails.ClientList.Add(new ClientDetails(idClient, username, registrationDate, nbWins, nbDefeats, nbTies, eloRating)); } return(allClientsDetails); }