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;
/// <summary>
/// Die Chat Klasse dient zur Kommunikation der Spieler.
/// </summary>
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} </br>", 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.
}
}