⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sms.cs

📁 一套OA系统,使用SQL Server为后台数据库ASP.NET C#语言开发
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Runtime.InteropServices;

namespace UDS.Components
{
	/// <summary>
	/// SMS 
	/// </summary>
	public class SMS
	{
		
		
		int CommIndex = 1;

		/*
		#region 引用组件
		[DllImport("../bin/AscendSMS.dll")]
		public static extern int OpenComm(int CommIndex);
		[DllImport("../bin/AscendSMS.dll")]
		public static extern int CloseComm(int CommIndex);
		[DllImport("../bin/AscendSMS.dll")]
		public static extern int ForceCloseComm(int CommIndex);
		[DllImport("../bin/AscendSMS.dll")]
		public static extern int SendMsg(int CommIndex,string Msg,string MobileNo,int Msg_Index,bool Chinese);
		[DllImport("../bin/AscendSMS.dll")]
		public static extern int GetUnSendCount(int CommIndex);
		[DllImport("../bin/AscendSMS.dll")]
		public static extern bool GetNextSendMsg(int CommIndex, string Msg,bool DeleteAfterRead);
		[DllImport("../bin/AscendSMS.dll")]
		public static extern bool GetNewMsg(int CommIndex,  string Msg);
		#endregion
		
	
		/// <summary>
		/// 发送短消息
		/// 返回操作码 0 成功 -2 消息超过长度 -3 手机号码不正确 -4 发送阵列已满 -8 模块未打开 -1 串口未打开
		/// </summary>
		/// <param name="Msg">短消息内容</param>
		/// <param name="MobileNo">目标端手机号码,包括一般号码及特殊号码</param>
		/// <param name="MsgIndex">短消息标志位</param>
		/// <param name="IsZh">是否中文(中文为True,否则为False)</param>
		/// <returns>操作码</returns>
		public int SendMobileMsg(string Msg, string MobileNo, int MsgIndex,bool IsZh) 
		{
			CloseComm(CommIndex);
			OpenComm(CommIndex); 
			String[] MoA = MobileNo.Split(',');
			String[] RtnCodeA = MoA;
			for(int i=0;i<MoA.Length;i++)
			{
				int RtnCode = SendMsg(CommIndex,Msg,MoA[i],MsgIndex,IsZh);
				RtnCodeA[i] = RtnCode.ToString();
			}
			CloseComm(CommIndex);
			if(RtnCodeA[0]=="0")
				return 0;
			else
				return -1;
		}		
		
	*/

		public SMS()
		{
			//
			// TODO: 
			//
		}
		/// <summary>
		/// 得到在线人数
		/// </summary>
		/// <returns>返回int</returns>
		public int GetOnlineCount()
		{
			Database data = new Database();
			SqlDataReader dataReader = null;
			try 
			{
				data.RunProc("SP_SMS_GetOnlineCount",out dataReader);
				if(dataReader.Read()) return Int32.Parse(dataReader[0].ToString());
				else return 0;
			}
			catch(Exception ex)
			{
				Error.Log(ex.ToString());
				throw new Exception("读取在线人数出错!",ex);
			}
			finally
			{
				data	   = null;
				dataReader = null;
			}
		}

		/// <summary>
		/// 得到新消息总数
		/// </summary>
		/// <returns>返回int</returns>
		public int GetNewMsgCount(string Username)
		{
			Database data = new Database();
			SqlDataReader dataReader = null;
			SqlParameter[] prams = {
									   data.MakeInParam("@username",    SqlDbType.VarChar, 50, Username)
								   };
			try 
			{
				data.RunProc("SP_SMS_GetNewMsgCount",prams,out dataReader);
				if(dataReader.Read()) return Int32.Parse(dataReader[0].ToString());
				else return 0;
			}
			catch(Exception ex)
			{
				Error.Log(ex.ToString());
				throw new Exception("得到新消息总数出错!",ex);
			}
			finally
			{
				data	   = null;
				dataReader = null;
			}
		}

		/// <summary>
		/// 读消息
		/// </summary>
		public bool ReadMsg(string MsgIDS,string Username)
		{
			Database data = new Database();
			SqlParameter[] prams = {
									   data.MakeInParam("@MsgIDS",    SqlDbType.VarChar, 2000, MsgIDS),
									   data.MakeInParam("@Username",    SqlDbType.VarChar, 20, Username),
								   };
			try 
			{
				data.RunProc("SP_SMS_ReadMsg",prams);
				return true;
			}
			catch(Exception ex)
			{
				Error.Log(ex.ToString());
			//	throw new Exception("读消息出错!",ex);
				return false;
			}
			finally
			{
				data	   = null;
			}
		}


		/// <summary>
		/// 更新在线记录表.添加新的在线人员
		/// </summary>
		public void UpdateOnlineInfo(string Username,string HostAddr,string SessionID)
		{
			Database data = new Database();
			SqlParameter[] prams = {
									   data.MakeInParam("@username",    SqlDbType.VarChar, 50, Username),
									   data.MakeInParam("@hostaddr",    SqlDbType.VarChar, 50, HostAddr),
									   data.MakeInParam("@sessionid",   SqlDbType.VarChar, 50, SessionID)
								   };
			try 
			{
				data.RunProc("SP_SMS_UpdateOnlineInfo",prams);
			}
			catch(Exception ex)
			{
				Error.Log(ex.ToString());
				throw new Exception("更新在线记录表出错!",ex);
			}
			finally
			{
				data	   = null;
			}
		}

		/// <summary>
		/// 更新活动记录及检测未活动人员
		/// </summary>
		public string CheckUpdate(string Username,string SessionID,int ActiveNodeID)
		{
			string ReturnStr = "";
			int ReturnID = 0;
			int NewMsgFlag = 0;
			Database data = new Database();
			SqlParameter[] prams = {
									   data.MakeInParam("@username",    SqlDbType.VarChar, 100, Username),
									   data.MakeInParam("@sessionid",   SqlDbType.VarChar, 100, SessionID),
									   data.MakeInParam("@ActiveNodeID",   SqlDbType.Int, 4, ActiveNodeID),
									   data.MakeOutParam("@ReturnID", SqlDbType.Int, 4),
									   data.MakeOutParam("@NewMsgFlag", SqlDbType.Int, 4)
			};
			try 
			{
				data.RunProc("SP_SMS_CheckUpdate",prams);
				ReturnID =  Int32.Parse(prams[3].Value.ToString()); 
				if(ReturnID==-1)
					NewMsgFlag = 0;
				else
                    NewMsgFlag =  Int32.Parse(prams[4].Value.ToString()); 
				ReturnStr = ReturnID.ToString()+"|"+NewMsgFlag.ToString();
				data = null;
				return ReturnStr;
			}
			catch(Exception ex)
			{
				Error.Log(ex.ToString());
				throw new Exception("更新活动记录及检测未活动人员出错!",ex);
			}
			finally
			{
				data	   = null;
			}
		}

		/// <summary>
		/// 得到所有在线人员
		/// </summary>
		/// <returns></returns>
		public SqlDataReader GetOnlinePerson()
		{
			Database data = new Database();
			SqlDataReader dr = null;
			try 
			{
				data.RunProc("sp_SMS_GetOnlinePerson",out dr);
				return dr;
			}
			catch(Exception ex)
			{
				Error.Log(ex.ToString());
				throw new Exception("读取在线人员数据出错!",ex);
			}
			finally
			{
				data	   = null;
				dr		   = null;
			}
		}

		/// <summary>
		/// 得到聊天记录
		/// </summary>
		/// <returns></returns>
		public SqlDataReader GetHistory(string Receiver,string Sender)
		{
			Database data = new Database();
			SqlDataReader dr = null;
			SqlParameter[] prams = {
									   data.MakeInParam("@Sender",    SqlDbType.VarChar, 50, Sender),
									   data.MakeInParam("@Receiver",   SqlDbType.VarChar, 50, Receiver)
			};
			try 
			{
				data.RunProc("SP_SMS_GetHistory",prams,out dr);
				return dr;
			}
			catch(Exception ex)
			{
				Error.Log(ex.ToString());
				throw new Exception("得到聊天记录出错!",ex);
			}
			finally
			{
				data	   = null;
				dr		   = null;
			}
		}

		/// <summary>
		/// 得到我所接收的所有短讯
		/// </summary>
		/// <returns></returns>
		public SqlDataReader GetMyReceive(string Username)
		{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -