/// <summary> /// Creates a body tag /// </summary> public static string Body(string bodyContents, string title = "") { return(@"<body><div align=""center""><h1>" + title + "</h1>" + bodyContents + "<h1>" + HTMLGenerator.GenerateLink("http://localhost:11100/scores", "High Scores") + "</h1></div></body>"); }
/// <summary> /// Queries the database and returns a large string of html for the webpage, based on the query /// </summary> private string StatsHTML(MySqlCommand query, int queryNum = 0, string title = "") { string html = ""; using (MySqlConnection conn = new MySqlConnection(connectionString)) { try { // Open a connection conn.Open(); query.Connection = conn; string body; // Execute the command and cycle through the DataReader object using (MySqlDataReader reader = query.ExecuteReader()) { string table; StringBuilder rows = new StringBuilder(); if (queryNum == 1) // High Scores web page { rows.Append(HTMLGenerator.TableRow(HTMLGenerator.TableHData("Game Id") + HTMLGenerator.TableHData("Name") + HTMLGenerator.TableHData("Lifetime") + HTMLGenerator.TableHData("Max Mass") + HTMLGenerator.TableHData("Highest Rank") + HTMLGenerator.TableHData("Number of Cubes Eaten"))); while (reader.Read()) { string id = HTMLGenerator.TableData(HTMLGenerator.GenerateLink("http://localhost:11100/eaten?id=" + reader["GameId"].ToString(), reader["GameId"].ToString())); string name = HTMLGenerator.TableData(HTMLGenerator.GenerateLink("http://localhost:11100/games?player=" + reader["Name"].ToString(), reader["Name"].ToString())); string lifetime = HTMLGenerator.TableData(reader["Lifetime"].ToString()); string maxmass = HTMLGenerator.TableData(reader["MaxMass"].ToString()); string highestRank = HTMLGenerator.TableData(reader["HighestRank"].ToString()); string cubesEaten = HTMLGenerator.TableData(reader["CubesEaten"].ToString()); rows.Append(HTMLGenerator.TableRow(id + name + lifetime + maxmass + highestRank + cubesEaten)); } } else if (queryNum == 2) // Game Id Stats web page { rows.Append(HTMLGenerator.TableRow(HTMLGenerator.TableHData("GameId") + HTMLGenerator.TableHData("Name") + HTMLGenerator.TableHData("Lifetime") + HTMLGenerator.TableHData("Max Mass") + HTMLGenerator.TableHData("Highest Rank") + HTMLGenerator.TableHData("Number of Cubes Eaten") + HTMLGenerator.TableHData("Time Of Death") + HTMLGenerator.TableHData("Number of Players Eaten"))); while (reader.Read()) { string id = HTMLGenerator.TableData(HTMLGenerator.GenerateLink("http://localhost:11100/eaten?id=" + reader["GameId"].ToString(), reader["GameId"].ToString())); string name = HTMLGenerator.TableData(HTMLGenerator.GenerateLink("http://localhost:11100/games?player=" + reader["Name"].ToString(), reader["Name"].ToString())); string lifetime = HTMLGenerator.TableData(reader["Lifetime"].ToString()); string maxmass = HTMLGenerator.TableData(reader["MaxMass"].ToString()); string highestRank = HTMLGenerator.TableData(reader["HighestRank"].ToString()); string cubesEaten = HTMLGenerator.TableData(reader["CubesEaten"].ToString()); string timeofdeath = HTMLGenerator.TableData(reader["TimeofDeath"].ToString()); string numplayerseat = HTMLGenerator.TableData(reader["NumPlayersEaten"].ToString()); rows.Append(HTMLGenerator.TableRow(id + name + lifetime + maxmass + highestRank + cubesEaten + timeofdeath + numplayerseat)); } } else if (queryNum == 3) // Player Name Stats web page { rows.Append(HTMLGenerator.TableRow(HTMLGenerator.TableHData("GameId") + HTMLGenerator.TableHData("Name") + HTMLGenerator.TableHData("Lifetime") + HTMLGenerator.TableHData("Max Mass") + HTMLGenerator.TableHData("Highest Rank") + HTMLGenerator.TableHData("Number of Cubes Eaten") + HTMLGenerator.TableHData("Time Of Death") + HTMLGenerator.TableHData("Number of Players Eaten") + HTMLGenerator.TableHData("Eaten Player Names"))); int add = 0; StringBuilder eaten = new StringBuilder(); string others = ""; while (reader.Read()) { string id = HTMLGenerator.TableData(HTMLGenerator.GenerateLink("http://localhost:11100/eaten?id=" + reader["GameId"].ToString(), reader["GameId"].ToString())); string name = HTMLGenerator.TableData(HTMLGenerator.GenerateLink("http://localhost:11100/games?player=" + reader["Name"].ToString(), reader["Name"].ToString())); string lifetime = HTMLGenerator.TableData(reader["Lifetime"].ToString()); string maxmass = HTMLGenerator.TableData(reader["MaxMass"].ToString()); string highestRank = HTMLGenerator.TableData(reader["HighestRank"].ToString()); string cubesEaten = HTMLGenerator.TableData(reader["CubesEaten"].ToString()); string timeofdeath = HTMLGenerator.TableData(reader["TimeofDeath"].ToString()); string numplayerseat = HTMLGenerator.TableData(reader["NumPlayersEaten"].ToString()); string eatenname = HTMLGenerator.TableData(HTMLGenerator.GenerateLink("http://localhost:11100/games?player=" + reader["EatenPlayer"].ToString(), reader["EatenPlayer"].ToString())); eaten.Append("<p>" + HTMLGenerator.GenerateLink("http://localhost:11100/games?player=" + reader["EatenPlayer"].ToString(), reader["EatenPlayer"].ToString()) + "</p>"); if (add < 1) { others = id + name + lifetime + maxmass + highestRank + cubesEaten + timeofdeath + numplayerseat; } add++; } others += HTMLGenerator.TableData(eaten.ToString()); rows.Append(HTMLGenerator.TableRow(others)); } // Assemble all the html together table = HTMLGenerator.Table(rows.ToString()); body = HTMLGenerator.Body(table, title); html = HTMLGenerator.GenerateWebpage(title, body); } } catch (Exception e) { Console.WriteLine(e.Message); html = HTMLGenerator.GenerateError("Something went wrong in the database query"); } } return(html); }