Document.cs
上传用户:xgw_05
上传日期:2009-12-11
资源大小:20208k
文件大小:11k
源码类别:

OA系统

开发平台:

C#

  1. using System;
  2. using System.Data;
  3. using System.Data.SqlClient;
  4. using System.IO;
  5. using System.Collections ;
  6. using System.Configuration;
  7. namespace UDS.Components
  8. {
  9. /// <summary>
  10. /// 文档类
  11. /// </summary>
  12. public class DocumentClass
  13. {
  14. #region 获取某项目中的文档 返回DataTable
  15. /// <summary>
  16. ///获取某项目中的文档 返回DataTable
  17. /// </summary>
  18. /// <param name="ClassID">项目ID</param>
  19. public DataTable GetClassDocs(int ClassID)
  20. {
  21. SqlDataReader dataReader = null;
  22. Database data = new Database();
  23. DataTable datatable = new DataTable();
  24. SqlParameter[] prams = 
  25. {
  26. data.MakeInParam("@ClassID", SqlDbType.Int, 20 ,ClassID)
  27.  };
  28. try
  29. {
  30. data.RunProc("sp_GetNewDocument",prams, out dataReader);
  31. datatable = Tools.ConvertDataReaderToDataTable(dataReader);
  32. dataReader.Close();
  33. return datatable;
  34. }
  35. catch(Exception ex)
  36. {
  37. Error.Log(ex.ToString());
  38. return null;
  39. }
  40. }
  41. #endregion
  42. #region 获取某项目我的审批文档 返回DataTable
  43. /// <summary>
  44. /// 获取某项目我的审批文档 返回DataTable 返回DataTable
  45. /// </summary>
  46. /// <param name="ClassID">项目ID</param>
  47. public DataTable GetApproveClassDocs(int ClassID)
  48. {
  49. SqlDataReader dataReader = null;
  50. Database data = new Database();
  51. DataTable datatable = new DataTable();
  52. SqlParameter[] prams = 
  53. {
  54. data.MakeInParam("@ClassID", SqlDbType.Int, 20 ,ClassID)
  55. };
  56. try
  57. {
  58. data.RunProc("sp_GetMyClassApproved",prams, out dataReader);
  59. datatable = Tools.ConvertDataReaderToDataTable(dataReader);
  60. dataReader.Close();
  61. return datatable;
  62. }
  63. catch(Exception ex)
  64. {
  65. Error.Log(ex.ToString());
  66. return null;
  67. }
  68. }
  69. #endregion
  70. #region 获取某文档详细信息
  71. /// <summary>
  72. /// 获取某文档详细信息
  73. /// </summary>
  74. /// <param name="ClassID">项目ID</param>
  75. public SqlDataReader GetDocDetail(int DocID,string UserName)
  76. {
  77. SqlDataReader dataReader = null;
  78. Database data = new Database();
  79. SqlParameter[] prams = 
  80. {
  81. data.MakeInParam("@Doc_ID", SqlDbType.Int, 20 ,DocID),
  82. data.MakeInParam("@UserName", SqlDbType.VarChar, 300 ,UserName)
  83. };
  84. try
  85. {
  86. data.RunProc("sp_ReadDocument",prams, out dataReader);
  87. return dataReader;
  88. }
  89. catch(Exception ex)
  90. {
  91. Error.Log(ex.ToString());
  92. return null;
  93. }
  94. }
  95. #endregion
  96. #region 文件主体添加
  97. /// <summary>
  98. /// 文件主体添加
  99. /// </summary>
  100. /// <param name="DocBody"> 文件主体类</param>
  101. public string AddDocBody(DocBody docbody) 
  102. {
  103. // create data object and params
  104. Database data = new Database();
  105. string DocID = "";
  106. SqlParameter[] prams = {
  107.    data.MakeInParam("@ClassID",   SqlDbType.Int, 20, docbody.DocClassID),
  108.    data.MakeInParam("@DocTitle",  SqlDbType.NVarChar, 300, docbody.DocTitle),
  109.    data.MakeInParam("@DocContent",SqlDbType.NVarChar, 5000,docbody.DocContent),
  110.    data.MakeInParam("@DocApprover",  SqlDbType.NVarChar,200, docbody.DocApprover),
  111.    data.MakeInParam("@DocApproveDate",  SqlDbType.NVarChar, 20, docbody.DocApproveDate),
  112.    data.MakeInParam("@DocApproved",  SqlDbType.Int, 1, docbody.DocApproved),
  113.    data.MakeInParam("@DocType",  SqlDbType.Int, 2, docbody.DocType),
  114.    data.MakeInParam("@DocAttribute",  SqlDbType.Int , 2, docbody.DocAttribute),
  115.    data.MakeInParam("@DocAddedBy",  SqlDbType.NVarChar, 300, docbody.DocAddedBy),
  116.    data.MakeInParam("@DocAddedDate",  SqlDbType.DateTime, 300,DateTime.Parse(docbody.DocAddedDate)),
  117.    data.MakeOutParam("@CurrentDocID",  SqlDbType.Int, 2)  
  118.    };
  119. try 
  120. {
  121. data.RunProc("SP_Ext_AddDocument", prams);
  122. DocID = prams[10].Value.ToString();
  123. if (DocID == string.Empty )
  124. return null;
  125. else 
  126. return DocID;
  127. }
  128. catch (Exception ex) 
  129. {
  130. Error.Log(ex.ToString());
  131. throw new Exception("文档正文增加错误!",ex);
  132. }
  133. }
  134. #endregion
  135. #region 文件附件数据库操作
  136. /// <summary>
  137. /// 文件附件数据库操作
  138. /// </summary>
  139. /// <param name="att">DocAttachFile类</param>
  140. /// <param name="DocID">文件ID</param>
  141. public void AddAttach(DocAttachFile att,int DocID) 
  142. {
  143. Database data = new Database();
  144. SqlParameter[] prams = {
  145.    data.MakeInParam("@DocID",  SqlDbType.Int, 20, DocID),
  146.    data.MakeInParam("@FileName",  SqlDbType.VarChar, 300, att.FileName),
  147.    data.MakeInParam("@FileSize",  SqlDbType.Int, 20, att.FileSize),
  148.    data.MakeInParam("@FileAttribute",  SqlDbType.SmallInt,20, att.FileAttribute),
  149.    data.MakeInParam("@FileVisualPath",  SqlDbType.NVarChar, 200, att.FileVisualPath),
  150.    data.MakeInParam("@FileAuthor",  SqlDbType.NVarChar, 50, att.FileAuthor),
  151.    data.MakeInParam("@FileCatlog",  SqlDbType.NVarChar, 20, att.FileCatlog),
  152.    data.MakeInParam("@FileAddedDate", SqlDbType.DateTime, 30, DateTime.Parse(att.FileAddedDate))
  153.    };
  154. try 
  155. {
  156. data.RunProc("SP_Ext_AddFile", prams);
  157. }
  158. catch (Exception ex) 
  159. {
  160. Error.Log(ex.ToString());
  161. throw new Exception("文件附件发送出错!",ex);
  162. }
  163. }
  164. #endregion
  165. #region 获取某项目中的文档列表
  166. /// <summary>
  167. /// 获取某项目中的文档列表
  168. /// </summary>
  169. /// <param name="ClassID">项目ID</param>
  170. /// <param name="UserName">用户名D</param>
  171. public SqlDataReader GetDocListInClass(int ClassID,string UserName,int DisplayType)
  172. {
  173. SqlDataReader dataReader = null;
  174. Database data = new Database();
  175. SqlParameter[] prams = 
  176. {
  177. data.MakeInParam("@ClassID", SqlDbType.Int, 20 ,ClassID),
  178. data.MakeInParam("@UserName", SqlDbType.NVarChar,20,UserName),
  179. data.MakeInParam("@DisplayType", SqlDbType.Int,1,DisplayType)
  180. };
  181. try
  182. {
  183. data.RunProc("sp_GetClassDocumentList",prams, out dataReader);
  184. return dataReader;
  185. }
  186. catch(Exception ex)
  187. {
  188. Error.Log(ex.ToString());
  189. return null;
  190. }
  191. }
  192. #endregion
  193. #region 删除一组文档
  194. /// <summary>
  195. /// 删除一组文档
  196. /// </summary>
  197. /// <param name="MailIDStr">文档ID的连接字符串,用逗号相隔开</param>
  198. public bool DocDelete(string DocIDStr,int DeleteType)
  199. {
  200. Database data = new Database();
  201. SqlParameter[] prams = {
  202.    data.MakeInParam("@DocIDs",   SqlDbType.VarChar,4000, DocIDStr),
  203.    data.MakeInParam("@DeleteType",SqlDbType.Int,1,DeleteType)
  204.    };
  205. try
  206. {
  207. data.RunProc("SP_DeleteDocument",prams);
  208. data = null;
  209. return true;
  210. }
  211. catch(Exception ex)
  212. {
  213. Error.Log(ex.ToString());
  214. return false;
  215. }
  216. }
  217. #endregion
  218. #region 获取管理者查询快捷文档信息
  219. /// <summary>
  220. /// 获取某文档路径信息
  221. /// </summary>
  222. public SqlDataReader GetManageQueryDetail()
  223. {
  224. SqlDataReader dataReader = null;
  225. Database data = new Database();
  226. try
  227. {
  228. data.RunProc("sp_GetManagerDocument", out dataReader);
  229. return dataReader;
  230. }
  231. catch(Exception ex)
  232. {
  233. Error.Log(ex.ToString());
  234. return null;
  235. }
  236. }
  237. #endregion
  238. }
  239. public class DocBody
  240. {
  241. private int m_DocClassID;
  242. private string m_DocTitle;
  243. private string m_DocContent;
  244. private string m_DocApprover;
  245. private string m_DocApproveDate;
  246. private int m_DocApproved;
  247. private string m_DocLastViewDate;
  248. private string m_DocLastViewer;
  249. private int m_DocViewedTimes;
  250. private int m_DocType;
  251. private string m_DocAddedBy;
  252. private string m_DocAddedDate;
  253. private int m_DocAttribute;
  254. private int m_DocSign;
  255. private int m_DocDeletion;
  256. public int DocClassID
  257. {
  258. // 中文含义
  259. get { return m_DocClassID; }
  260. set { m_DocClassID = value; }
  261. }
  262. public string DocTitle 
  263. {
  264. // 中文含义
  265. get { return m_DocTitle; }
  266. set { m_DocTitle = value; }
  267. }
  268. public string DocContent 
  269. {
  270. // 中文含义
  271. get { return m_DocContent; }
  272. set { m_DocContent = value; }
  273. }
  274. public string DocApprover 
  275. {
  276. // 中文含义
  277. get { return m_DocApprover; }
  278. set { m_DocApprover = value; }
  279. }
  280. public string DocApproveDate 
  281. {
  282. // 中文含义
  283. get { return m_DocApproveDate; }
  284. set { m_DocApproveDate = value; }
  285. }
  286. public int DocApproved
  287. {
  288. // 中文含义
  289. get { return m_DocApproved; }
  290. set { m_DocApproved = value; }
  291. }
  292. public string DocLastViewDate 
  293. {
  294. // 中文含义
  295. get { return m_DocLastViewDate; }
  296. set { m_DocLastViewDate = value; }
  297. }
  298. public string DocLastViewer 
  299. {
  300. // 中文含义
  301. get { return m_DocLastViewer; }
  302. set { m_DocLastViewer = value; }
  303. }
  304. public int DocViewedTimes 
  305. {
  306. // 中文含义
  307. get { return m_DocViewedTimes; }
  308. set { m_DocViewedTimes = value; }
  309. }
  310. public int DocType 
  311. {
  312. // 中文含义
  313. get { return m_DocType; }
  314. set { m_DocType = value; }
  315. }
  316. public string DocAddedBy 
  317. {
  318. // 中文含义
  319. get { return m_DocAddedBy; }
  320. set { m_DocAddedBy = value; }
  321. }
  322. public string DocAddedDate 
  323. {
  324. // 中文含义
  325. get { return m_DocAddedDate; }
  326. set { m_DocAddedDate = value; }
  327. }
  328. public int DocAttribute
  329. {
  330. // 中文含义
  331. get { return m_DocAttribute; }
  332. set { m_DocAttribute = value; }
  333. }
  334. public int DocSign
  335. {
  336. // 中文含义
  337. get { return m_DocSign; }
  338. set { m_DocSign = value; }
  339. }
  340. public int DocDeletion
  341. {
  342. // 中文含义
  343. get { return m_DocDeletion; }
  344. set { m_DocDeletion = value; }
  345. }
  346. }
  347. public class DocAttachFile
  348. {
  349. private int m_FileID;
  350. private int m_DocID;
  351. private string m_FileName;
  352. private int m_FileSize;
  353. private int m_FileAttribute;
  354. private string m_FileVisualPath;
  355. private string m_FileAuthor;
  356. private string m_FileCatlog;
  357. private string m_FileAddedDate;
  358. public int FileID 
  359. {
  360. //文件ID
  361. get { return m_FileID; }
  362. set { m_FileID = value; }
  363. }
  364. public int DocID 
  365. {
  366. //文档ID
  367. get { return m_DocID; }
  368. set { m_DocID = value; }
  369. }
  370. public string FileName 
  371. {
  372. //文件名
  373. get { return m_FileName; }
  374. set { m_FileName = value; }
  375. }
  376. public int FileSize 
  377. {
  378. //文件大小
  379. get { return m_FileSize; }
  380. set { m_FileSize = value; }
  381. }
  382. public int FileAttribute 
  383. {
  384. //文件属性
  385. get { return m_FileAttribute; }
  386. set { m_FileAttribute = value; }
  387. }
  388. public string FileVisualPath
  389. {
  390. //文件虚拟路径
  391. get { return m_FileVisualPath; }
  392. set { m_FileVisualPath = value; }
  393. }
  394. public string FileAuthor
  395. {
  396. //文件作者
  397. get { return m_FileAuthor; }
  398. set { m_FileAuthor = value; }
  399. }
  400. public string FileCatlog 
  401. {
  402. //文件类别
  403. get { return m_FileCatlog; }
  404. set { m_FileCatlog = value; }
  405. }
  406. public string FileAddedDate
  407. {
  408. //文件添加日期
  409. get { return m_FileAddedDate; }
  410. set { m_FileAddedDate = value; }
  411. }
  412. }
  413. }