📄 message.cs
字号:
using System;
using System.Data ;
using System.Data.SqlClient;
namespace OI.cs
{
/// <summary>
/// Message :待办事宜,消息小精灵管理。
/// </summary>
///
public class Message
{
protected OI.DatabaseOper .DatabaseConnect Dbc=new OI.DatabaseOper.DatabaseConnect ();
protected System.DateTime sendtime,receivetime;
protected int senduserid,receiveuserid;
protected string title,messagecontent,modename,documentpath;
protected int id;
//protected int transact;
protected VisitState readstate;
protected Transact istransact ;
protected MessageType messagetype=0;
/// <summary>
/// 处理类型
/// </summary>
public enum Transact
{
NO=0,//no
Yes=1
}
/// <summary>
/// 访问状态
/// </summary>
public enum VisitState
{
NO=0,
Yes=1
}
/// <summary>
/// 消息类型
/// </summary>
public enum MessageType
{
MessageAndDesk=0,
MessageOnly=1
}
public Message()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public MessageType messageType
{
set
{
messagetype=value;
}
}
/// <summary>
/// 主键1:你所操作模块的主键编号。
/// </summary>
public int ID
{
get
{
return id;
}
set
{
id=value;
}
}
/// <summary>
/// 发送日期
/// </summary>
public System.DateTime SendTime
{
get
{
return sendtime;
}
set
{
sendtime =value;
}
}
/// <summary>
/// 收文用户处理日期
/// </summary>
public System.DateTime ReceiveTime
{
get
{
return receivetime;
}
set
{
receivetime =value;
}
}
/// <summary>
/// 发文用户ID
/// </summary>
public int SendUserID
{
get
{
return senduserid;
}
set
{
senduserid=value;
}
}
public Transact IsTransact
{
set
{
istransact=value;
}
}
/// <summary>
/// 是否己读
/// </summary>
public VisitState IsReaded
{
set
{
readstate=value;
}
}
/// <summary>
/// 收文用户ID
/// </summary>
public int ReceiveUserID
{
get
{
return receiveuserid;
}
set
{
receiveuserid=value;
}
}
/// <summary>
/// 文档标题
/// </summary>
public string Title
{
get
{
return title;
}
set
{
title=value;
}
}
/// <summary>
/// 消息内容
/// </summary>
public string MessageContent
{
get
{
return messagecontent;
}
set
{
messagecontent=value;
}
}
/// <summary>
/// 主键:待办事宜模块名称
/// </summary>
public string ModeName
{
get
{
return modename;
}
set
{
modename=value;
}
}
/// <summary>
/// 文档访问路径
/// </summary>
public string DocumentPath
{
get
{
return documentpath;
}
set
{
documentpath=value;
}
}
/// <summary>
/// 新增
/// </summary>
/// <returns></returns>
public void ADD()
{
checkData();
string Sql="select count(*) from message where receiveuserid="+receiveuserid.ToString ()+" and id="+id.ToString ()+" and modename ='" +modename+"'";
int o= int.Parse (Dbc.GetObjectBySql (Sql).ToString ());
if (o>0)
{
Dbc.ExecuteSQL ("delete message where receiveuserid="+receiveuserid.ToString ()+" and id="+id.ToString ()+" and modename ='" +modename+"'");
}
string values=id.ToString ()+",";
values +="'"+sendtime.ToString() +"'," ;
values +=senduserid.ToString () +",";
values +=receiveuserid.ToString ()+",";
values +="'"+title+"',";
values +="'"+messagecontent+"',";
values +="'"+modename+"',";
values +="'"+documentpath+"'";
Sql=" insert message (id,sendtime,senduserid,receiveuserid,title,MessageContent,modename,Documentpath) values ("+values+")";
Dbc.ExecuteSQL (Sql);
}
/// <summary>
/// 仅仅插入消息
/// </summary>
public void AddMessageOnly()
{
int intmessagetype=(int)messagetype;
string values="";
values +="'"+sendtime.ToString() +"'," ;
values +=senduserid.ToString () +",";
values +=receiveuserid.ToString ()+",";
values +="'"+title+"',";
values +="'"+messagecontent+"',";
values += intmessagetype .ToString ();
values +=",1";
string Sql=" insert message (sendtime,senduserid,receiveuserid,title,MessageContent,MessageType,istransact) values ("+values+")";
Dbc.ExecuteSQL (Sql);
}
/// <summary>
/// 修改
/// </summary>
/// <returns></returns>
public void Modify()
{
string update;
update = " set sendtime='"+sendtime.ToString ()+"'";
update +=", title='"+title+"'";
update +=", MessageContent='"+messagecontent+"'";
update +=" ,receivetime='"+receivetime.ToString ()+"'";
update +=",modename='"+modename.ToString ()+"'";
update +=",Documentpath='"+documentpath+"'";
update +=",isTransact="+istransact.ToString ();
update +=",readstate"+readstate.ToString ();
update +=" where id="+id.ToString ();
update +=" and documentpath='"+documentpath+"'";
string Sql="update message "+update ;
}
/// <summary>
/// 返回用户所有没读过的消息。包括发送者的姓名,部门。
/// </summary>
/// <param name="userid"></param>
/// <returns></returns>
public DataTable GetAllNoReadingMessage(int userid)
{
string Sql="select m.*,a.username,d.departmentname from message m,Accounts_Users a ,departments d ";
Sql +=" where m.SendUserId=a.userid and m.Readstate=0 and d.departmentid=a.departmentid and m.ReceiveUserId="+userid.ToString () ;
DataTable dt= Dbc.getBinding (Sql,"t").Tables[0] ;
Sql="update message set readstate=1 where readstate=0 and ReceiveUserId="+userid ; //减少服务器的压务,将用户看过的消息置为己读
Dbc.ExecuteSQL (Sql);
return dt;
}
/// <summary>
/// 得到一条记录
/// </summary>
/// <param name="id"></param>
/// <param name="documentpath"></param>
/// <returns></returns>
public DataRow GetRow(int id,string documentpath)
{
try
{
string Sql=" select * from message where id" +id.ToString () +" and documentpath='"+documentpath.ToString ()+"'";
DataTable dt=Dbc.getBinding (Sql,"t").Tables[0] ;
if (dt.Rows .Count !=1)
{
throw new ApplicationException ("没有找到数据或找到多条数据" );
}
return dt.Rows[0] ;
}
catch(Exception er)
{
throw new ApplicationException (er.Message );
}
}
/// <summary>
/// 执行一条sql
/// </summary>
/// <param name="Sql"></param>
public void ExcuteSql(string Sql)
{
Dbc.ExecuteSQL (Sql);
}
public void checkData()
{
// if(id.ToString ()==null)
// {
// throw new ApplicationException ("ID不能为空!");
// }
// if(sendtime.ToString ()==null)
// {
// throw new ApplicationException ("发送时期不能为空!");
//
// }
// if(senduserid.ToString ()==null)
// {
// throw new ApplicationException ("发送人不能为空!");
// }
// if (receiveuserid.ToString ()==null)
// {
// throw new ApplicationException ("接收人不能为空!");
//
// }
// if(title==null||title=="")
// {
// throw new ApplicationException ("标题不能为空!");
// }
//
// if(messagecontent==null||messagecontent=="")
// {
// throw new ApplicationException ("消息内容不能为空!");
// }
// if(modename==null||modename=="")
// {
// throw new ApplicationException ("待办事宜名称不能为空!");
// }
// if(documentpath==null||documentpath=="")
// {
// throw new ApplicationException ("文档访问路径不能为空!");
// }
}
/// <summary>
/// `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
/// 得到桌面上的待办事宜
/// </summary>
/// <param name="userid"></param>
public DataTable deskGetAllNoTransact(int userid)
{
string Sql=" select m.*,a.username,d.departmentname from message m,Accounts_Users a ,departments d where m.SendUserId=a.userid and m.istransact=0 and d.departmentid=a.departmentid and MessageType=0 and m.ReceiveUserId="+userid.ToString () ;
return Dbc.getBinding (Sql,"t").Tables[0] ;
}
public void finishOprate(int finishUserID,int id,string modename)
{
string Sql=" update message set istransact=1 ,ReceiveTime='"+System.DateTime.Now .ToString () +"'" ;
Sql +=" where id="+id.ToString ()+ " and modename='"+modename+"' and ReceiveUserId="+finishUserID.ToString ();
Dbc.ExecuteSQL (Sql);
}
public void deleteMessage(int sendUserID,int id,string modename)
{
string Sql =" delete from message where senduserid="+sendUserID.ToString ()+" and id="+id.ToString ()+ " and modename='"+modename+"'";
try
{
Dbc.ExecuteSQL (Sql);
}
catch(Exception er)
{
throw new ApplicationException (er.Message +"<br>"+Sql);
}
}
public void deleteMessage(int lsh)
{
string Sql =" delete from message where lsh="+lsh.ToString ();
try
{
Dbc.ExecuteSQL (Sql);
}
catch(Exception er)
{
throw new ApplicationException (er.Message +"<br>"+Sql);
}
}
public DataSet GetALLMessageByUserID(int userid)
{
string Sql = " select lsh,istransact,sendTime,ReceiveTime,Senduserid,a.username,d.departmentname,title,MessageContent, ";
Sql +=" case readstate when 1 then '己读' else '末读' end as readstate , " ;
Sql += " case istransact when 1 then '己处理' else '<font color=red>末处理</font>' end as transact ";
Sql +=" from message m, departments d,accounts_users a where m.senduserid=a.userid and a.departmentid=d.departmentid ";
Sql +=" and m.ReceiveUserId="+ userid.ToString ();
try
{
return Dbc.getBinding (Sql,"t");
}
catch(Exception er)
{
throw new ApplicationException (er.Message +"<br>"+Sql);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -