Click here to Skip to main content
15,898,222 members
Please Sign up or sign in to vote.
1.00/5 (5 votes)
See more:
using System;

// ASPDOTNETAJAXIM - Copyright 2008 Craig Whiteman
// http://craigwhiteman.blogspot.com

using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.SqlClient;
using System.Web.Security;
using System.Configuration;

[WebService(Namespace="http://tempuri.org/"), WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1), Microsoft.VisualBasic.CompilerServices.DesignerGenerated(), System.Web.Script.Services.ScriptService()]
public class ChatService : System.Web.Services.WebService
{

	[WebMethod()]
	public string GetMessages(string strFromUserID, string strToUserID)
	{
		bool blnSucess = false;
		string strMessage = null;
		DateTime dDateSent = DateTime.MinValue;

		strMessage = "";

		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{
			conn.Open();

			SqlCommand cmd = null;

			MembershipUser MemUser = null;
			string strFromUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strFromUserID));
			strFromUserGUID = MemUser.ProviderUserKey.ToString();
			string strToUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strToUserID));
			strToUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = new SqlCommand("SELECT TOP(1) Message, DateSent FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID) ORDER BY DateSent DESC", conn);
			cmd.Parameters.AddWithValue("@SenderUserID", strToUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strFromUserGUID);
			SqlDataReader reader = cmd.ExecuteReader();
			while (reader.Read())
			{
				dDateSent = (DateTime)reader["DateSent"];
				//If dDateSent > DateAdd(DateInterval.Minute, -5, DateTime.Now) Then
				strMessage = (string)reader["Message"];
				blnSucess = true;
				//End If
			}
			reader.Close();
			cmd.Dispose();

			if (blnSucess)
			{
				cmd = conn.CreateCommand();
				cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
				cmd.Parameters.AddWithValue("@SenderUserID", strToUserGUID);
				cmd.Parameters.AddWithValue("@RecipientUserID", strFromUserGUID);
				cmd.ExecuteNonQuery();
				cmd.Dispose();
			}
			conn.Close();

		}
		return strMessage;
	}
	[WebMethod()]
	public string SendMessage(string strSenderUserID, string strRecipientUserID, string strMessage)
	{
		bool blnSucess = false;
		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{

			conn.Open();

			SqlCommand cmd = null;

			MembershipUser MemUser = null;
			string strRecipientUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strRecipientUserID));
			strRecipientUserGUID = MemUser.ProviderUserKey.ToString();
			string strSenderUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strSenderUserID));
			strSenderUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = conn.CreateCommand();
			cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.ExecuteNonQuery();
			cmd.Dispose();

			cmd = conn.CreateCommand();
			cmd.CommandText = "INSERT INTO IMChats(RecipientUserID, SenderUserID, Message, DateSent) VALUES (@RecipientUserID, @SenderUserID, @Message, @DateSent)";
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@Message", strMessage);
			cmd.Parameters.AddWithValue("@DateSent", DateTime.Now);

			cmd.ExecuteNonQuery();
			blnSucess = true;
			cmd.Dispose();
			conn.Close();
		}
		return blnSucess;
	}

	//ENQ = chr(5)                            # Request to send
	//EOT = chr(4)                            # Ready to receive
	//ACK = chr(6)                            # Correct reception
	//NAK = chr(21)                           # Incorrect reception
	//////////////////////////////////
	//// Sender init chat
	//////////////////////////////////
	//// Sender ENQ     Wait 4 ACK
	//// Recip  ACK ENQ Wait 4 ACK ACK
	//// Sender ACK ACK Wait 4 EOT
	//// Recip  EOT
	//////////////////////////////////
	//// Recip wait 4 chat
	//////////////////////////////////
	//// Recip  ACK ENQ Wait 4 ACK
	//// Sender ACK ACK Wait 4 EOT
	//// Recip  EOT

	[WebMethod()]
	public string CheckChatReq(string strMyUserID)
	{
		string strSenderUserID = null;
		string strMessage = null;
		DateTime dDateSent = DateTime.MinValue;
		strSenderUserID = "";
		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{
			conn.Open();

			SqlCommand cmd = null;

			string strMyUserGUID = "";
			string strSenderUserGUID = "";
			MembershipUser MemUser = Membership.GetUser(HttpUtility.UrlDecode(strMyUserID));
			strMyUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = new SqlCommand("SELECT TOP(1) SenderUserID, Message, DateSent FROM [IMChats] WHERE ([RecipientUserID] = @RecipientUserID) ORDER BY DateSent DESC", conn);
			cmd.Parameters.AddWithValue("@RecipientUserID", strMyUserGUID);
			SqlDataReader reader = cmd.ExecuteReader();
			while (reader.Read())
			{
				dDateSent = (DateTime)reader["DateSent"];
				//If dDateSent > DateAdd(DateInterval.Minute, -5, DateTime.Now) Then
				strMessage = (string)reader["Message"];
				// ENQ
				if (strMessage == "~::::=[(HANDSHAKE)]=::::~[ENQ]")
				{
					strSenderUserGUID = reader["SenderUserID"].ToString();
					strSenderUserID = Membership.GetUser(new Guid(strSenderUserGUID)).UserName;
					//End If
				}
			}
			reader.Close();
			cmd.Dispose();

			if (! (string.IsNullOrEmpty(strSenderUserGUID)))
			{
				cmd = conn.CreateCommand();
				cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
				cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
				cmd.Parameters.AddWithValue("@RecipientUserID", strMyUserGUID);
				cmd.ExecuteNonQuery();
				cmd.Dispose();
			}
			conn.Close();

		}
		return strSenderUserID;
	}
	[WebMethod()]
	public bool SendChatReq(string strSenderUserID, string strRecipientUserID)
	{
		bool blnSucess = false;
		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{

			conn.Open();

			SqlCommand cmd = null;

			MembershipUser MemUser = null;
			string strRecipientUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strRecipientUserID));
			strRecipientUserGUID = MemUser.ProviderUserKey.ToString();
			string strSenderUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strSenderUserID));
			strSenderUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = conn.CreateCommand();
			cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.ExecuteNonQuery();
			cmd.Dispose();
			cmd = conn.CreateCommand();
			cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @RecipientUserID AND [RecipientUserID] = @SenderUserID)";
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.ExecuteNonQuery();
			cmd.Dispose();

			cmd = conn.CreateCommand();
			cmd.CommandText = "INSERT INTO IMChats(RecipientUserID, SenderUserID, Message, DateSent) VALUES (@RecipientUserID, @SenderUserID, @Message, @DateSent)";
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			// ENQ
			cmd.Parameters.AddWithValue("@Message", "~::::=[(HANDSHAKE)]=::::~[ENQ]");
			cmd.Parameters.AddWithValue("@DateSent", DateTime.Now);

			cmd.ExecuteNonQuery();
			blnSucess = true;
			cmd.Dispose();
			conn.Close();
		}
		return blnSucess;
	}
	[WebMethod()]
	public string ChatCleanUpAll(string strMyUserID)
	{
		bool blnSucess = false;
		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{
			conn.Open();

			SqlCommand cmd = null;

			string strMyUserGUID = null;
			MembershipUser MemUser = Membership.GetUser(HttpUtility.UrlDecode(strMyUserID));
			strMyUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = conn.CreateCommand();
			cmd.CommandText = "DELETE FROM [IMChats] WHERE ([RecipientUserID] = @RecipientUserID)";
			cmd.Parameters.AddWithValue("@RecipientUserID", strMyUserGUID);
			cmd.ExecuteNonQuery();
			cmd.Dispose();
			conn.Close();
			blnSucess = true;
		}
		return blnSucess;
	}
	[WebMethod()]
	public bool CleanUp(string strMyUserID, string strSenderUserID, bool blnSendEOT)
	{
		bool blnSucess = false;
		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{
			conn.Open();

			SqlCommand cmd = null;

			string strMyUserGUID = null;
			MembershipUser MemUser = Membership.GetUser(HttpUtility.UrlDecode(strMyUserID));
			strMyUserGUID = MemUser.ProviderUserKey.ToString();
			string strSenderUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strSenderUserID));
			strSenderUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = conn.CreateCommand();
			cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
			cmd.Parameters.AddWithValue("@RecipientUserID", strMyUserGUID);
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.ExecuteNonQuery();
			cmd.Dispose();

			if (blnSendEOT)
			{
				cmd = conn.CreateCommand();
				cmd.CommandText = "INSERT INTO IMChats(RecipientUserID, SenderUserID, Message, DateSent) VALUES (@RecipientUserID, @SenderUserID, @Message, @DateSent)";
				cmd.Parameters.AddWithValue("@RecipientUserID", strSenderUserGUID);
				cmd.Parameters.AddWithValue("@SenderUserID", strMyUserGUID);
				// EOT
				cmd.Parameters.AddWithValue("@Message", "~::::=[(HANDSHAKE)]=::::~[EOT]");
				cmd.Parameters.AddWithValue("@DateSent", DateTime.Now);
				cmd.ExecuteNonQuery();
				cmd.Dispose();
			}
			conn.Close();
			blnSucess = true;

		}
		return blnSucess;

	}
	[WebMethod()]
	public bool SendNak(string strSenderUserID, string strRecipientUserID)
	{
		bool blnSucess = false;
		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{

			conn.Open();

			SqlCommand cmd = null;

			MembershipUser MemUser = null;
			string strRecipientUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strRecipientUserID));
			strRecipientUserGUID = MemUser.ProviderUserKey.ToString();
			string strSenderUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strSenderUserID));
			strSenderUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = conn.CreateCommand();
			cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.ExecuteNonQuery();
			cmd.Dispose();

			cmd = conn.CreateCommand();
			cmd.CommandText = "INSERT INTO IMChats(RecipientUserID, SenderUserID, Message, DateSent) VALUES (@RecipientUserID, @SenderUserID, @Message, @DateSent)";
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			// NAK
			cmd.Parameters.AddWithValue("@Message", "~::::=[(HANDSHAKE)]=::::~[NAK]");
			cmd.Parameters.AddWithValue("@DateSent", DateTime.Now);

			cmd.ExecuteNonQuery();
			blnSucess = true;
			cmd.Dispose();
			conn.Close();
		}
		return blnSucess;
	}
	[WebMethod()]
	public bool SendAck(string strSenderUserID, string strRecipientUserID)
	{
		bool blnSucess = false;
		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{

			conn.Open();

			SqlCommand cmd = null;

			MembershipUser MemUser = null;
			string strRecipientUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strRecipientUserID));
			strRecipientUserGUID = MemUser.ProviderUserKey.ToString();
			string strSenderUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strSenderUserID));
			strSenderUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = conn.CreateCommand();
			cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.ExecuteNonQuery();
			cmd.Dispose();

			cmd = conn.CreateCommand();
			cmd.CommandText = "INSERT INTO IMChats(RecipientUserID, SenderUserID, Message, DateSent) VALUES (@RecipientUserID, @SenderUserID, @Message, @DateSent)";
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			// ACK
			cmd.Parameters.AddWithValue("@Message", "~::::=[(HANDSHAKE)]=::::~[ACK]");
			cmd.Parameters.AddWithValue("@DateSent", DateTime.Now);

			cmd.ExecuteNonQuery();
			blnSucess = true;
			cmd.Dispose();
			conn.Close();
		}
		return blnSucess;
	}
	[WebMethod()]
	public bool GetAck(string strRecipientUserID, string strSenderUserID)
	{
		bool blnSucess = false;
		string strMessage = null;
		DateTime dDateSent = DateTime.MinValue;

		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{
			conn.Open();

			SqlCommand cmd = null;

			MembershipUser MemUser = null;
			string strRecipientUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strRecipientUserID));
			strRecipientUserGUID = MemUser.ProviderUserKey.ToString();
			string strSenderUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strSenderUserID));
			strSenderUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = new SqlCommand("SELECT TOP(1) Message, DateSent FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID) ORDER BY DateSent DESC", conn);
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			SqlDataReader reader = cmd.ExecuteReader();
			while (reader.Read())
			{
				dDateSent = (DateTime)reader["DateSent"];
				//If dDateSent > DateAdd(DateInterval.Minute, -5, DateTime.Now) Then
				strMessage = (string)reader["Message"];
				// ACK
				if (strMessage == "~::::=[(HANDSHAKE)]=::::~[ACK]")
				{
					blnSucess = true;
					//End If
				}
			}
			reader.Close();
			cmd.Dispose();

			if (blnSucess)
			{
				cmd = conn.CreateCommand();
				cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
				cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
				cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
				cmd.ExecuteNonQuery();
				cmd.Dispose();
			}
			conn.Close();

		}
		return blnSucess;
	}
	[WebMethod()]
	public bool GetNak(string strRecipientUserID, string strSenderUserID)
	{
		bool blnSucess = false;
		string strMessage = null;
		DateTime dDateSent = DateTime.MinValue;

		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{
			conn.Open();

			SqlCommand cmd = null;

			MembershipUser MemUser = null;
			string strRecipientUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strRecipientUserID));
			strRecipientUserGUID = MemUser.ProviderUserKey.ToString();
			string strSenderUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strSenderUserID));
			strSenderUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = new SqlCommand("SELECT TOP(1) Message, DateSent FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID) ORDER BY DateSent DESC", conn);
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			SqlDataReader reader = cmd.ExecuteReader();
			while (reader.Read())
			{
				dDateSent = (DateTime)reader["DateSent"];
				//If dDateSent > DateAdd(DateInterval.Minute, -5, DateTime.Now) Then
				strMessage = (string)reader["Message"];
				// NAK
				if (strMessage == "~::::=[(HANDSHAKE)]=::::~[NAK]")
				{
					blnSucess = true;
					//End If
				}
			}
			reader.Close();
			cmd.Dispose();

			if (blnSucess)
			{
				cmd = conn.CreateCommand();
				cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
				cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
				cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
				cmd.ExecuteNonQuery();
				cmd.Dispose();
			}
			conn.Close();

		}
		return blnSucess;
	}
	[WebMethod()]
	public bool SendEot(string strSenderUserID, string strRecipientUserID)
	{
		bool blnSucess = false;
		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{

			conn.Open();

			SqlCommand cmd = null;

			MembershipUser MemUser = null;
			string strRecipientUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strRecipientUserID));
			strRecipientUserGUID = MemUser.ProviderUserKey.ToString();
			string strSenderUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strSenderUserID));
			strSenderUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = conn.CreateCommand();
			cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @RecipientUserID AND [RecipientUserID] = @SenderUserID)";
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.ExecuteNonQuery();
			cmd.Dispose();

			cmd = conn.CreateCommand();
			cmd.CommandText = "INSERT INTO IMChats(RecipientUserID, SenderUserID, Message, DateSent) VALUES (@RecipientUserID, @SenderUserID, @Message, @DateSent)";
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			// EOT
			cmd.Parameters.AddWithValue("@Message", "~::::=[(HANDSHAKE)]=::::~[EOT]");
			cmd.Parameters.AddWithValue("@DateSent", DateTime.Now);

			cmd.ExecuteNonQuery();
			blnSucess = true;
			cmd.Dispose();
			conn.Close();
		}
		return blnSucess;
	}
	[WebMethod()]
	public bool GetEot(string strRecipientUserID, string strSenderUserID)
	{
		bool blnSucess = false;
		string strMessage = null;
		DateTime dDateSent = DateTime.MinValue;

		using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
		{
			conn.Open();

			SqlCommand cmd = null;

			MembershipUser MemUser = null;
			string strRecipientUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strRecipientUserID));
			strRecipientUserGUID = MemUser.ProviderUserKey.ToString();
			string strSenderUserGUID = null;
			MemUser = Membership.GetUser(HttpUtility.UrlDecode(strSenderUserID));
			strSenderUserGUID = MemUser.ProviderUserKey.ToString();

			cmd = new SqlCommand("SELECT TOP(1) Message, DateSent FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID) ORDER BY DateSent DESC", conn);
			cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
			cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
			SqlDataReader reader = cmd.ExecuteReader();
			while (reader.Read())
			{
				dDateSent = (DateTime)reader["DateSent"];
				//If dDateSent > DateAdd(DateInterval.Minute, -5, DateTime.Now) Then
				strMessage = (string)reader["Message"];
				// EOT
				if (strMessage == "~::::=[(HANDSHAKE)]=::::~[EOT]")
				{
					blnSucess = true;
					//End If
				}
			}
			reader.Close();
			cmd.Dispose();

			if (blnSucess)
			{
				cmd = conn.CreateCommand();
				cmd.CommandText = "DELETE FROM [IMChats] WHERE ([SenderUserID] = @SenderUserID AND [RecipientUserID] = @RecipientUserID)";
				cmd.Parameters.AddWithValue("@SenderUserID", strSenderUserGUID);
				cmd.Parameters.AddWithValue("@RecipientUserID", strRecipientUserGUID);
				cmd.ExecuteNonQuery();
				cmd.Dispose();
			}
			conn.Close();

		}
		return blnSucess;
	}

}



in the code above the error is cannot implicitly convert type bool to string
Posted
Updated 11-Oct-10 19:42pm
v2
Comments
Ankur\m/ 12-Oct-10 1:04am    
Firstly, remove the whole code and paste only the required block.
Use <PRE> tags ('code block') to surround your code, so that it's readable.
JF2015 12-Oct-10 1:45am    
Please, can you tell us the line that caused this error? - Going through all this code takes too much time.
Sandeep Mewara 12-Oct-10 3:02am    
Put only important code snippet please.
Toli Cuturicu 12-Oct-10 3:24am    
Code dump

Then do it explicitly:

string MyString = Convert.ToString(bool MyBoolean);

See here: http://msdn.microsoft.com/en-us/library/t0dd78t1.aspx[^]

And in the future it would be helpful if you'd post only the block of code that is causing a problem, rather than your entire application. You might also use the Bold or Italics tags to highlight the specific line that is causing the error.
 
Share this answer
 
Most likely, you've forgotten a "=" and written

if (foo = bar)


instead of

if (foo == bar)


But I really can be bothered reading through the whole code trying to find the problem.

But surely the compiler will tell you in what line the problem is...
 
Share this answer
 
the error is in return blnSucess line no.107 and 258
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900