Html Page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChatWindow.aspx.cs" Inherits="ChatWindow" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link rel="stylesheet" type="text/css" href="base.css" />
<link rel="stylesheet" type="text/css" href="theme.css" />
<script src="Script/jquery-1.7.1.js" type="text/javascript"></script>
<script src="Script/jquery-1.7.1.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function (e) {
$('#<%=TxtMsg.ClientID%>').keypress(function (e) {
if (e.keyCode == 13) {
var msg = $('#<%=TxtMsg.ClientID %>').val();
InsertChatMesage(msg);
$('#<%=TxtMsg.ClientID %>').val('');
}
});
$('#header').click(function () {
// $('#ChatDiv').slideToggle('slow');
$('#ChatDiv').slideDown('slow');
$('#ChatDiv').hide();
// $('#ChatDiv').toggle('slow');
$('#ChatFooter').show("slow");
});
$('#ChatFooter').click(function () {
$('#ChatDiv').show("slow");
$('#ChatFooter').hide("slow");
});
// $("#close").click(function () {
// $('#output').css({ left: leftVal, top: topVal }).hide("slow");
// }); //close div click
});
//=====================================================
function InsertChatMesage(msg) {
var sessionid = $('#Hdn_sessionid').val();
var Recsessionid = $('#Hdn_RecSessionID').val();
var senderid = $('#Hdn_senderid').val();
var reciptantid = $('#Hdn_recid').val();
var message = msg;
var d = { SenderSessionid: sessionid, ReceiverSessionid: Recsessionid, senderid: senderid, Receipientid: reciptantid, message: message };
var data1 = JSON.stringify(d);
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "ChatWebservice.asmx/InsertChatMessage",
data: data1,
dataType: "json",
success: insertCallback
});
function insertCallback(result) {
var res = result.d;
var table = '<table cellpadding=0 cellspacing=10>';
if (res != null) {
for (var i = 0; i < res.length; i++) {
table += '<tr><td><img height=30px width=30px src=' + res[i].IImage + '></td><td>' + res[i].SenderName + ':</td><td>' + res[i].message + '</td></tr>';
}
table += '</table>';
$('#msgheader').html(table);
$('#header').html('Contacts', 'Image/minus.png');
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:HiddenField ID="Hdn_senderid" runat="server" />
<asp:HiddenField ID="Hdn_recid" runat="server" />
<asp:HiddenField ID="Hdn_sessionid" runat="server" />
<asp:HiddenField ID="Hdn_RecSessionID" runat="server" />
<div id="ChatDiv" style="width:220px;border-width:1;border-style:outset" class="MsgContainer" >
<div id="header" style="background-color:#A4A4A4;font-weight:bold;width:220px;height:25px">
<img align="right" src="Image/minus.png" id="toggle" border="0" >
<%-- <div id="closepopup">
<div id="close" class="ClosePopup">
</div>
</div>--%>
</div>
<div id="msgheader" style="width:220px;height:250px;border:2px ;overflow:auto ">
</div>
<div id="msgcontent">
<asp:TextBox ID="TxtMsg" runat="server" TextMode="MultiLine" Height="52px"
Rows="10" Width="97%" style="overflow:auto;"></asp:TextBox>
</div>
</div>
<div id="ChatFooter" style="background-color:blue;width:220px;height:25px;display:none;position:absolute" class="MsgContainer">
<img src="Image/plus.png" id="Img1" border="0" align="right" >
</div>
</form>
</body>
</html>
Web Service
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Web.Configuration;
using System.Data.SqlClient;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class ChatWebservice : System.Web.Services.WebService
{
string connString = WebConfigurationManager.ConnectionStrings["CONN"].ConnectionString.ToString();
[WebMethod]
public List<MessageList> InsertChatMessage(string SenderSessionid, string ReceiverSessionid, string senderid, string Receipientid, string message)
{
SqlCommand cmd;
string insquery = "";
List<MessageList> msgdata = new List<MessageList>();
SqlConnection con = new SqlConnection(connString);
con.Open();
for (int i = 0; i < 2; i++)
{
if (i == 0)
insquery = "insert into Message(MessageListSessionId,SenderUserId,RecipientUserId,MessageContents,IsTyping,MessageTime) values('" + SenderSessionid + "','" + senderid + "','" + Receipientid + "','" + message + "','1','" + DateTime.Now + "')";
if (i == 1)
insquery = "insert into Message(MessageListSessionId,SenderUserId,RecipientUserId,MessageContents,IsTyping,MessageTime) values('" + ReceiverSessionid + "','" + senderid + "','" + Receipientid + "','" + message + "','1','" + DateTime.Now + "')";
cmd = new SqlCommand(insquery, con);
cmd.ExecuteNonQuery();
}
DataTable dtmessage = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("select a.UserName,a.UImage,b.MessageContents from UserMaster a,Message b where a.Userid=b.SenderUserId and b.MessageListSessionId='" + SenderSessionid + "'", con);
da.Fill(dtmessage);
foreach (DataRow dr in dtmessage.Rows)
{
MessageList ml = new MessageList();
ml.SenderName = dr["UserName"].ToString().Trim();
ml.IImage = "Image/" + dr["UImage"].ToString().Trim();
ml.message = dr["MessageContents"].ToString().Trim();
msgdata.Add(ml);
}
con.Close();
return msgdata.ToList();
}
}
public class MessageList
{
public string SenderName
{
get;
set;
}
//public string ReceiverName
//{
// get;
// set;
//}
public string IImage
{
get;
set;
}
public string message
{
get;
set;
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChatWindow.aspx.cs" Inherits="ChatWindow" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link rel="stylesheet" type="text/css" href="base.css" />
<link rel="stylesheet" type="text/css" href="theme.css" />
<script src="Script/jquery-1.7.1.js" type="text/javascript"></script>
<script src="Script/jquery-1.7.1.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function (e) {
$('#<%=TxtMsg.ClientID%>').keypress(function (e) {
if (e.keyCode == 13) {
var msg = $('#<%=TxtMsg.ClientID %>').val();
InsertChatMesage(msg);
$('#<%=TxtMsg.ClientID %>').val('');
}
});
$('#header').click(function () {
// $('#ChatDiv').slideToggle('slow');
$('#ChatDiv').slideDown('slow');
$('#ChatDiv').hide();
// $('#ChatDiv').toggle('slow');
$('#ChatFooter').show("slow");
});
$('#ChatFooter').click(function () {
$('#ChatDiv').show("slow");
$('#ChatFooter').hide("slow");
});
// $("#close").click(function () {
// $('#output').css({ left: leftVal, top: topVal }).hide("slow");
// }); //close div click
});
//=====================================================
function InsertChatMesage(msg) {
var sessionid = $('#Hdn_sessionid').val();
var Recsessionid = $('#Hdn_RecSessionID').val();
var senderid = $('#Hdn_senderid').val();
var reciptantid = $('#Hdn_recid').val();
var message = msg;
var d = { SenderSessionid: sessionid, ReceiverSessionid: Recsessionid, senderid: senderid, Receipientid: reciptantid, message: message };
var data1 = JSON.stringify(d);
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "ChatWebservice.asmx/InsertChatMessage",
data: data1,
dataType: "json",
success: insertCallback
});
function insertCallback(result) {
var res = result.d;
var table = '<table cellpadding=0 cellspacing=10>';
if (res != null) {
for (var i = 0; i < res.length; i++) {
table += '<tr><td><img height=30px width=30px src=' + res[i].IImage + '></td><td>' + res[i].SenderName + ':</td><td>' + res[i].message + '</td></tr>';
}
table += '</table>';
$('#msgheader').html(table);
$('#header').html('Contacts', 'Image/minus.png');
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:HiddenField ID="Hdn_senderid" runat="server" />
<asp:HiddenField ID="Hdn_recid" runat="server" />
<asp:HiddenField ID="Hdn_sessionid" runat="server" />
<asp:HiddenField ID="Hdn_RecSessionID" runat="server" />
<div id="ChatDiv" style="width:220px;border-width:1;border-style:outset" class="MsgContainer" >
<div id="header" style="background-color:#A4A4A4;font-weight:bold;width:220px;height:25px">
<img align="right" src="Image/minus.png" id="toggle" border="0" >
<%-- <div id="closepopup">
<div id="close" class="ClosePopup">
</div>
</div>--%>
</div>
<div id="msgheader" style="width:220px;height:250px;border:2px ;overflow:auto ">
</div>
<div id="msgcontent">
<asp:TextBox ID="TxtMsg" runat="server" TextMode="MultiLine" Height="52px"
Rows="10" Width="97%" style="overflow:auto;"></asp:TextBox>
</div>
</div>
<div id="ChatFooter" style="background-color:blue;width:220px;height:25px;display:none;position:absolute" class="MsgContainer">
<img src="Image/plus.png" id="Img1" border="0" align="right" >
</div>
</form>
</body>
</html>
Web Service
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Web.Configuration;
using System.Data.SqlClient;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class ChatWebservice : System.Web.Services.WebService
{
string connString = WebConfigurationManager.ConnectionStrings["CONN"].ConnectionString.ToString();
[WebMethod]
public List<MessageList> InsertChatMessage(string SenderSessionid, string ReceiverSessionid, string senderid, string Receipientid, string message)
{
SqlCommand cmd;
string insquery = "";
List<MessageList> msgdata = new List<MessageList>();
SqlConnection con = new SqlConnection(connString);
con.Open();
for (int i = 0; i < 2; i++)
{
if (i == 0)
insquery = "insert into Message(MessageListSessionId,SenderUserId,RecipientUserId,MessageContents,IsTyping,MessageTime) values('" + SenderSessionid + "','" + senderid + "','" + Receipientid + "','" + message + "','1','" + DateTime.Now + "')";
if (i == 1)
insquery = "insert into Message(MessageListSessionId,SenderUserId,RecipientUserId,MessageContents,IsTyping,MessageTime) values('" + ReceiverSessionid + "','" + senderid + "','" + Receipientid + "','" + message + "','1','" + DateTime.Now + "')";
cmd = new SqlCommand(insquery, con);
cmd.ExecuteNonQuery();
}
DataTable dtmessage = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("select a.UserName,a.UImage,b.MessageContents from UserMaster a,Message b where a.Userid=b.SenderUserId and b.MessageListSessionId='" + SenderSessionid + "'", con);
da.Fill(dtmessage);
foreach (DataRow dr in dtmessage.Rows)
{
MessageList ml = new MessageList();
ml.SenderName = dr["UserName"].ToString().Trim();
ml.IImage = "Image/" + dr["UImage"].ToString().Trim();
ml.message = dr["MessageContents"].ToString().Trim();
msgdata.Add(ml);
}
con.Close();
return msgdata.ToList();
}
}
public class MessageList
{
public string SenderName
{
get;
set;
}
//public string ReceiverName
//{
// get;
// set;
//}
public string IImage
{
get;
set;
}
public string message
{
get;
set;
}
}
No comments:
Post a Comment