using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; /// /// Die Chat Klasse dient zur Kommunikation der Spieler. /// public class Chat { int InSpielid; // Die Spielid die auf das Spiel verweist String InUser; // Der User der Text sendet String InText; // Der gesendete Text DateTime inTime; // Der Zeipunkt andem die Nachricht gesenden worden ist public void Chat(int InSpielid) { // Diese Klasse erstellt einen virtuellen "Chatroom" dieser dient dazu den Narichtenverkehr zu // regeln, da nun auf den Chatroom verwiesen werden kann. try { // Die Connection Null setzen um Falsche Ergebnisse zu vermeiden SqlConnection conn = null; SqlDataReader reader = null; // eine Verbindung erstellen conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\ASPNETDB.MDF;Integrated Security=True;User Instance=True;"); conn.Open(); // Zuerst wird der Query String eingelesen SqlCommand cmd = new SqlCommand("INSERT INTO Chat(id, gamid)VALUES (, @SpielId);", conn); // Dem dann Parameter definiert SqlParameter param = new SqlParameter(); param.ParameterName = "@SpielId"; param.Value = InSpielid; // und letztendlich hinzugefügt werden. cmd.Parameters.Add(param); // Dann wird das Query Ausgeführt, der Inser ist vollendet reader = cmd.ExecuteReader(); } finally { // Den datenreader schliesen if (reader != null) { reader.Close(); } // und die Verbindung beenden. if (conn != null) { conn.Close(); } } return ergebnisschat; // hier wird das ergebniss zurückgegeben } public void chatten(DateTime InTime, String Inuser, String InText, int Spielid) { // Diese Klasse dient dazu den Text, den die User Chatten, in die Datenbank einzufügen try { // Die Connection Null setzen um Falsche Ergebnisse zu vermeiden SqlConnection conn = null; SqlDataReader reader = null; // eine Verbindung erstellen conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\ASPNETDB.MDF;Integrated Security=True;User Instance=True;"); conn.Open(); // Zuerst wird der Query String eingelesen SqlCommand cmd = new SqlCommand("INSERT INTO Chat_Gespraech(id,user, text, time)VALUES (@Chat_id, @chat_user, @chat_text @chat_time);", conn); // Dem dann Parameter definiert SqlParameter param = new SqlParameter(); param.ParameterName = "@Chat_Id"; param.Value = InSpielid; param.ParameterName = "@chat_user"; param.Value = InUser; param.ParameterName = "@chat_text"; param.Value = InText; param.ParameterName = "@chat_time"; param.Value = InTime; // und letztendlich hinzugefügt werden. cmd.Parameters.Add(param); // Dann wird das Query Ausgeführt, der Inser ist vollendet reader = cmd.ExecuteReader(); } finally { // Den datenreader schliesen if (reader != null) { reader.Close(); } // und die Verbindung beenden. if (conn != null) { conn.Close(); } } } public string read(int inSpielid) { // Die Klasse read, liest den Chat aus der Datenbank aus und packt ihn in einen string, der später ausgegeben werden kann. String ergebnisschat; // dies ist die Ausgabevariable, die unseren Chat inhalt beinhalten wird. try { // Die Connection Null setzen um Falsche Ergebnisse zu vermeiden SqlConnection conn = null; SqlDataReader reader = null; // eine Verbindung erstellen conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\ASPNETDB.MDF;Integrated Security=True;User Instance=True;"); conn.Open(); // Zuerst wird der Query String eingelesen SqlCommand cmd = new SqlCommand("SELECT [User], text, time FROM Chat_Gespraeche where id = @Spielid", conn); // Dem dann Parameter definiert SqlParameter param = new SqlParameter(); param.ParameterName = "@Spielid"; param.Value = InSpielid; // und letztendlich hinzugefügt werden. cmd.Parameters.Add(param); // Dann wird das Query Ausgeführt reader = cmd.ExecuteReader(); // und das Ergebniss in dem String gespeichert // um es später auszulesen. while(reader.Read()) { //Hier wird der String formatiert und zusammengeführt. ErgebnissChat = String.Join(ErgebnissChat, String.Format("- {0} {1} - {2}
", reader["User"], reader["time"], reader["text"])); } } finally { // close reader if (reader != null) { reader.Close(); } // close connection if (conn != null) { conn.Close(); } } return ergebnisschat; // Gibt als Resultat den Chat aus, der dem Spieler dann auf dem Bildschirm im Chatbereich // angezeigt wird. } }