很不错的公文流转系统

源代码在线查看: message.cs

软件大小: 14914 K
上传用户: iamguest88
关键词:
下载地址: 免注册下载 普通下载 VIP

相关代码

  1. using System;  
  2. using System.Data ;  
  3. using System.Data.SqlClient;  
  4. namespace OI.cs  
  5. {  
  6.     ///   
  7.     /// Message :待办事宜,消息小精灵管理。  
  8.     ///   
  9.     ///   
  10.     public class Message  
  11.     {  
  12.         protected OI.DatabaseOper .DatabaseConnect Dbc=new OI.DatabaseOper.DatabaseConnect ();  
  13.         protected System.DateTime  sendtime,receivetime;  
  14.         protected int senduserid,receiveuserid;  
  15.         protected string title,messagecontent,modename,documentpath;  
  16.         protected int id;  
  17.         //protected int transact;  
  18.         protected VisitState readstate;  
  19.         protected Transact istransact ;  
  20.         protected MessageType messagetype=0;  
  21.         ///   
  22.         /// 处理类型  
  23.         ///   
  24.         public enum Transact  
  25.         {  
  26.             NO=0,//no  
  27.             Yes=1  
  28.         }  
  29.         ///   
  30.         /// 访问状态  
  31.         ///   
  32.         public enum VisitState  
  33.         {  
  34.             NO=0,  
  35.             Yes=1  
  36.         }  
  37.         ///   
  38.         /// 消息类型  
  39.         ///   
  40.         public enum MessageType  
  41.         {  
  42.             MessageAndDesk=0,  
  43.             MessageOnly=1  
  44.         }  
  45.         public Message()  
  46.         {  
  47.             //  
  48.             // TODO: 在此处添加构造函数逻辑  
  49.             //  
  50.   
  51.         }  
  52.         public MessageType messageType  
  53.         {  
  54.             set   
  55.             {  
  56.                 messagetype=value;  
  57.             }  
  58.         }  
  59.         ///   
  60.         /// 主键1:你所操作模块的主键编号。  
  61.         ///   
  62.         public int ID  
  63.         {  
  64.             get  
  65.             {  
  66.                 return id;  
  67.             }  
  68.             set  
  69.             {  
  70.                 id=value;  
  71.             }  
  72.         }  
  73.         ///   
  74.         /// 发送日期  
  75.         ///   
  76.         public System.DateTime SendTime  
  77.         {  
  78.             get   
  79.             {  
  80.                 return sendtime;  
  81.             }  
  82.             set  
  83.             {  
  84.                 sendtime =value;  
  85.             }  
  86.         }  
  87.         ///   
  88.         /// 收文用户处理日期  
  89.         ///   
  90.         public System.DateTime ReceiveTime  
  91.         {  
  92.             get   
  93.             {  
  94.                 return receivetime;  
  95.             }  
  96.             set  
  97.             {  
  98.                 receivetime =value;  
  99.             }  
  100.         }  
  101.         ///   
  102.         /// 发文用户ID  
  103.         ///   
  104.         public int SendUserID  
  105.         {  
  106.             get  
  107.             {  
  108.                 return senduserid;  
  109.             }  
  110.             set  
  111.             {  
  112.                 senduserid=value;  
  113.             }  
  114.         }  
  115.         public Transact IsTransact  
  116.         {  
  117.             set   
  118.             {  
  119.                 istransact=value;  
  120.             }  
  121.               
  122.         }  
  123.         ///   
  124.         /// 是否己读  
  125.         ///   
  126.         public VisitState IsReaded  
  127.         {  
  128.             set  
  129.             {  
  130.              readstate=value;  
  131.             }  
  132.         }  
  133.         ///   
  134.         /// 收文用户ID  
  135.         ///   
  136.       public int ReceiveUserID  
  137.         {  
  138.             get  
  139.             {  
  140.                 return receiveuserid;  
  141.             }  
  142.             set  
  143.             {  
  144.                 receiveuserid=value;  
  145.             }  
  146.         }  
  147.         ///   
  148.         /// 文档标题  
  149.         ///   
  150.         public string Title  
  151.         {  
  152.             get  
  153.             {  
  154.                 return title;  
  155.             }  
  156.             set  
  157.             {  
  158.                 title=value;  
  159.             }  
  160.         }  
  161.         ///   
  162.         /// 消息内容  
  163.         ///   
  164.         public string MessageContent  
  165.         {  
  166.             get  
  167.             {  
  168.                 return messagecontent;  
  169.             }  
  170.             set  
  171.             {  
  172.                 messagecontent=value;  
  173.             }  
  174.         }  
  175.         ///   
  176.         /// 主键:待办事宜模块名称  
  177.         ///   
  178.         public string ModeName  
  179.         {  
  180.             get  
  181.             {  
  182.                 return modename;  
  183.             }  
  184.             set  
  185.             {  
  186.                 modename=value;  
  187.             }  
  188.         }  
  189.         ///   
  190.         /// 文档访问路径  
  191.         ///   
  192.         public string DocumentPath  
  193.         {  
  194.             get  
  195.             {  
  196.                 return documentpath;  
  197.             }  
  198.             set  
  199.             {  
  200.                 documentpath=value;  
  201.             }  
  202.         }  
  203.         ///   
  204.         /// 新增  
  205.         ///   
  206.         ///   
  207.         public void ADD()  
  208.         {  
  209.             checkData();  
  210.             string Sql="select count(*) from message where  receiveuserid="+receiveuserid.ToString ()+" and id="+id.ToString ()+" and modename ='" +modename+"'";  
  211.             int o= int.Parse (Dbc.GetObjectBySql (Sql).ToString ());  
  212.             if (o>0)  
  213.             {  
  214.                 Dbc.ExecuteSQL ("delete  message where  receiveuserid="+receiveuserid.ToString ()+" and  id="+id.ToString ()+" and modename ='" +modename+"'");  
  215.             }  
  216.             string values=id.ToString ()+",";  
  217.             values +="'"+sendtime.ToString() +"'," ;  
  218.             values +=senduserid.ToString () +",";  
  219.             values +=receiveuserid.ToString ()+",";  
  220.             values +="'"+title+"',";  
  221.             values +="'"+messagecontent+"',";  
  222.             values +="'"+modename+"',";  
  223.             values +="'"+documentpath+"'";  
  224.             Sql=" insert message (id,sendtime,senduserid,receiveuserid,title,MessageContent,modename,Documentpath) values ("+values+")";  
  225.           Dbc.ExecuteSQL (Sql);  
  226.         }  
  227.         ///   
  228.         /// 仅仅插入消息  
  229.         ///   
  230.         public void AddMessageOnly()  
  231.         {  
  232.             int intmessagetype=(int)messagetype;  
  233.             string values="";  
  234.             values +="'"+sendtime.ToString() +"'," ;  
  235.             values +=senduserid.ToString () +",";  
  236.             values +=receiveuserid.ToString ()+",";  
  237.             values +="'"+title+"',";  
  238.             values +="'"+messagecontent+"',";  
  239.             values += intmessagetype .ToString ();  
  240.             values +=",1";  
  241.             string Sql=" insert message (sendtime,senduserid,receiveuserid,title,MessageContent,MessageType,istransact) values ("+values+")";  
  242.           Dbc.ExecuteSQL (Sql);  
  243.         }  
  244.         ///   
  245.         /// 修改  
  246.         ///   
  247.         ///   
  248.         public void Modify()  
  249.         {  
  250.             string update;  
  251.                 update = " set sendtime='"+sendtime.ToString ()+"'";  
  252.                 update +=", title='"+title+"'";  
  253.                 update +=", MessageContent='"+messagecontent+"'";  
  254.                 update +=" ,receivetime='"+receivetime.ToString ()+"'";  
  255.                 update +=",modename='"+modename.ToString ()+"'";  
  256.                 update +=",Documentpath='"+documentpath+"'";  
  257.                 update +=",isTransact="+istransact.ToString ();  
  258.                 update +=",readstate"+readstate.ToString ();  
  259.                 update +=" where id="+id.ToString ();  
  260.                 update +=" and documentpath='"+documentpath+"'";  
  261.                   
  262.                 string Sql="update message "+update ;  
  263.               
  264.         }  
  265.           
  266.         ///   
  267.         /// 返回用户所有没读过的消息。包括发送者的姓名,部门。  
  268.         ///   
  269.         ///   
  270.         ///   
  271.         public DataTable GetAllNoReadingMessage(int userid)  
  272.         {   
  273.               
  274.             string Sql="select m.*,a.username,d.departmentname from message m,Accounts_Users a ,departments d  ";  
  275.             Sql +=" where m.SendUserId=a.userid and m.Readstate=0 and d.departmentid=a.departmentid and m.ReceiveUserId="+userid.ToString () ;  
  276.               
  277.             DataTable dt= Dbc.getBinding (Sql,"t").Tables[0] ;  
  278.             Sql="update message set readstate=1 where readstate=0 and   ReceiveUserId="+userid ; //减少服务器的压务,将用户看过的消息置为己读  
  279.             Dbc.ExecuteSQL (Sql);  
  280.             return dt;  
  281.         }  
  282.           
  283.         ///   
  284.         /// 得到一条记录  
  285.         ///   
  286.         ///   
  287.         ///   
  288.         ///   
  289.         public DataRow GetRow(int id,string documentpath)  
  290.         {  
  291.             try  
  292.             {  
  293.                 string Sql=" select * from message where id" +id.ToString () +" and documentpath='"+documentpath.ToString ()+"'";  
  294.                 DataTable dt=Dbc.getBinding (Sql,"t").Tables[0] ;  
  295.                 if (dt.Rows .Count !=1)  
  296.                 {  
  297.                    throw new ApplicationException ("没有找到数据或找到多条数据" );  
  298.                 }  
  299.                 return dt.Rows[0] ;  
  300.             }  
  301.             catch(Exception er)  
  302.             {  
  303.                 throw new ApplicationException (er.Message );  
  304.             }  
  305.         }  
  306.         ///   
  307.         /// 执行一条sql  
  308.         ///   
  309.         ///   
  310.         public void ExcuteSql(string Sql)  
  311.         {  
  312.               
  313.                 Dbc.ExecuteSQL (Sql);  
  314.               
  315.               
  316.         }  
  317.         public void checkData()  
  318.         {  
  319.               
  320. //          if(id.ToString ()==null)  
  321. //          {  
  322. //              throw new ApplicationException ("ID不能为空!");  
  323. //          }  
  324. //          if(sendtime.ToString ()==null)  
  325. //          {  
  326. //              throw new ApplicationException ("发送时期不能为空!");  
  327. //  
  328. //          }  
  329. //          if(senduserid.ToString ()==null)  
  330. //          {  
  331. //              throw new ApplicationException ("发送人不能为空!");  
  332. //          }  
  333. //          if (receiveuserid.ToString ()==null)  
  334. //          {  
  335. //              throw new ApplicationException ("接收人不能为空!");  
  336. //  
  337. //          }  
  338. //          if(title==null||title=="")  
  339. //          {  
  340. //              throw new ApplicationException ("标题不能为空!");  
  341. //          }  
  342. //            
  343. //          if(messagecontent==null||messagecontent=="")  
  344. //          {  
  345. //              throw new ApplicationException ("消息内容不能为空!");  
  346. //          }  
  347. //          if(modename==null||modename=="")  
  348. //          {  
  349. //              throw new ApplicationException ("待办事宜名称不能为空!");  
  350. //          }  
  351. //          if(documentpath==null||documentpath=="")  
  352. //          {  
  353. //              throw new ApplicationException ("文档访问路径不能为空!");  
  354. //          }  
  355.         }  
  356.           
  357.         ///       
  358.         /// `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````  
  359.         /// 得到桌面上的待办事宜  
  360.         ///   
  361.         ///   
  362.         public DataTable deskGetAllNoTransact(int userid)  
  363.         {  
  364.             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 () ;  
  365.         return  Dbc.getBinding (Sql,"t").Tables[0] ;  
  366.         }  
  367.         public void finishOprate(int finishUserID,int id,string modename)  
  368.         {  
  369.             string Sql=" update  message set istransact=1 ,ReceiveTime='"+System.DateTime.Now .ToString () +"'" ;  
  370.             Sql +=" where id="+id.ToString ()+ " and modename='"+modename+"' and ReceiveUserId="+finishUserID.ToString ();  
  371.             Dbc.ExecuteSQL (Sql);  
  372.         }  
  373.         public void deleteMessage(int sendUserID,int id,string modename)  
  374.         {  
  375.               
  376.              string Sql =" delete from message  where senduserid="+sendUserID.ToString ()+" and id="+id.ToString ()+ " and modename='"+modename+"'";  
  377.             try  
  378.             {  
  379.                 Dbc.ExecuteSQL (Sql);  
  380.             }  
  381.             catch(Exception er)  
  382.             {  
  383.                 throw new ApplicationException (er.Message +""+Sql);  
  384.             }  
  385.         }  
  386.         public void deleteMessage(int lsh)  
  387.         {  
  388.             string Sql =" delete from message  where lsh="+lsh.ToString ();  
  389.             try  
  390.             {  
  391.                 Dbc.ExecuteSQL (Sql);  
  392.             }  
  393.             catch(Exception er)  
  394.             {  
  395.                 throw new ApplicationException (er.Message +""+Sql);  
  396.             }  
  397.         }  
  398.         public DataSet GetALLMessageByUserID(int userid)  
  399.         {  
  400.            string Sql = " select lsh,istransact,sendTime,ReceiveTime,Senduserid,a.username,d.departmentname,title,MessageContent, ";  
  401.                   Sql +=" case readstate when 1 then '己读' else  '末读' end as readstate , " ;  
  402.                   Sql += " case istransact when 1 then '己处理' else '末处理' end as transact ";  
  403.                   Sql +="  from message m, departments d,accounts_users a  where m.senduserid=a.userid  and a.departmentid=d.departmentid ";  
  404.                   Sql +="  and m.ReceiveUserId="+ userid.ToString ();  
  405.             try  
  406.             {  
  407.                 return Dbc.getBinding  (Sql,"t");  
  408.             }  
  409.             catch(Exception er)  
  410.             {  
  411.                 throw new ApplicationException (er.Message +""+Sql);  
  412.             }  
  413.   
  414.         }  
  415.     }  
  416. }  
  417.               

相关资源