FileBLL.cs
上传用户:autodoor
上传日期:2022-08-04
资源大小:9973k
文件大小:7k
源码类别:

.net编程

开发平台:

Others

  1. using System;
  2. using System.ComponentModel;
  3. using System.Data;
  4. using System.Data.SqlClient;
  5. using System.Text;
  6. using System.Collections; 
  7.     
  8. using qminoa.Common; 
  9. using qminoa.DA;
  10. namespace qminoa.BLL
  11. {
  12. public class FileBLL
  13. {
  14. public FileBLL()
  15. {
  16. }
  17. const string FOLDER="文件夹";
  18. public string GetFolderRight(int folderid,int empid)
  19. {
  20. FileRight fr= new FileRight();
  21. FileData data=fr.GetDocFolderCtr(folderid,empid,1); 
  22. DataView dv=data.Tables[FileData.FMDOCFOLDERCTR_TABLE].DefaultView;
  23. dv.RowFilter="FolderId="+folderid+"and Empid="+empid;
  24.            
  25. int count=dv.Count;  
  26. if(count!=0)
  27. {
  28. bool flag=Convert.ToBoolean(dv[0].Row[4].ToString());
  29. if(flag==true)
  30. {
  31. return "Admin";
  32. }
  33. else 
  34. {
  35. flag=Convert.ToBoolean(dv[0].Row[5].ToString());
  36. if(flag==true)
  37. {
  38. return "Read";
  39. }
  40. else
  41. {
  42. return "Write";
  43. }
  44. }
  45. }
  46. else
  47. {
  48. return "NoRight";
  49. }
  50. }
  51. public string  GetDocRight(int docid,int empid)
  52. {
  53. FileRight fr= new FileRight();
  54. FileData data=fr.GetDocCtr(docid,empid,1); 
  55. DataView dv=data.Tables[FileData.FMDOCFOLDERCTR_TABLE].DefaultView;  
  56. dv.RowFilter="DocId="+docid+"and Empid="+empid;
  57. int count=dv.Count;  
  58. if(count!=0)
  59. {
  60. bool flag=Convert.ToBoolean(dv[0].Row[4].ToString());
  61. if(flag==true)
  62. {
  63. return "Admin";
  64. }
  65. else 
  66. {
  67. flag=Convert.ToBoolean(dv[0].Row[5].ToString());
  68. if(flag==true)
  69. {
  70. return "Read";
  71. }
  72. else
  73. {
  74. return "Write";
  75. }
  76. }
  77. }
  78. else
  79. {
  80. return "NoRight";
  81. }
  82. }
  83. public string GetDocRightForDep(int docid,int depid)
  84. {
  85. FileRight fr= new FileRight();
  86. FileData data=fr.GetDocCtr(docid,depid,1); 
  87. DataView dv=data.Tables[FileData.FMDOCFOLDERCTR_TABLE].DefaultView;  
  88. dv.RowFilter="DocId="+docid+"and DepId="+depid;
  89. int count=dv.Count;  
  90. if(count!=0)
  91. {
  92. bool flag=Convert.ToBoolean(dv[0].Row[4].ToString());
  93. if(flag==true)
  94. {
  95. return "Admin";
  96. }
  97. else 
  98. {
  99. flag=Convert.ToBoolean(dv[0].Row[5].ToString());
  100. if(flag==true)
  101. {
  102. return "Read";
  103. }
  104. else
  105. {
  106. return "Write";
  107. }
  108. }
  109. }
  110. else
  111. {
  112. return "NoRight";
  113. }
  114. }
  115. public string GetFolderRightForDep(int folderid,int depid)
  116. {
  117. FileRight fr= new FileRight();
  118. FileData data=fr.GetDocFolderCtr(folderid,depid,1); 
  119. DataView dv=data.Tables[FileData.FMDOCFOLDERCTR_TABLE].DefaultView;  
  120. dv.RowFilter="FolderId="+folderid+"and DepId="+depid;
  121.            
  122. int count=dv.Count;  
  123. if(count!=0)
  124. {
  125. bool flag=Convert.ToBoolean(dv[0].Row[4].ToString());
  126. if(flag==true)
  127. {
  128. return "Admin";
  129. }
  130. else 
  131. {
  132. flag=Convert.ToBoolean(dv[0].Row[5].ToString());
  133. if(flag==true)
  134. {
  135. return "Read";
  136. }
  137. else
  138. {
  139. return "Write";
  140. }
  141. }
  142. }
  143. else
  144. {
  145. return "NoRight";
  146. }
  147. }
  148. private string GetPath(int fid)
  149. {    
  150. string fpath;
  151. FileA fa= new FileA();
  152. fpath=fa.GetDocPath(fid); 
  153. return fpath;
  154. }
  155. public DataTable DoRecycle()
  156. {
  157. DataTable dtRecycle = new DataTable(); 
  158. DataColumnCollection d= dtRecycle.Columns; 
  159. d.Add("folderid",typeof(System.Int32)); 
  160. d.Add("hifolderid", typeof(System.Int32));
  161. d.Add("name",typeof(System.String)); 
  162. d.Add("path",typeof(System.String));
  163. d.Add("type",typeof(System.String)); 
  164. d.Add("dempid",typeof(System.Int32));
  165. d.Add("Ddate",typeof(System.DateTime));
  166. FileData recycleinfo=(new FileA()).LoadRecycleFile();
  167. DataView dvdata=recycleinfo.Tables[FileData.FMDOC_TABLE].DefaultView;       
  168. int counts = dvdata.Count;
  169. for(int i=0;i<counts;i++)
  170. {
  171. string type=dvdata[i].Row[13].ToString();
  172. int docid=Convert.ToInt32(dvdata[i].Row[0].ToString(),10); 
  173. int folderid=Convert.ToInt32(dvdata[i].Row[1].ToString(),10);
  174. if(folderid==0)
  175. {
  176. DataRow row = dtRecycle.NewRow();
  177. row["folderid"]=Convert.ToInt32(dvdata[i].Row[0].ToString(),10);
  178. row["hifolderid"] =Convert.ToInt32(dvdata[i].Row[1].ToString(),10);
  179. row["name"]=dvdata[i].Row[14].ToString()+dvdata[i].Row[2].ToString();
  180. int fid=Convert.ToInt32(dvdata[i].Row[1].ToString(),10);
  181. row["path"]=GetPath(fid);
  182. row["Ddate"]=Convert.ToDateTime(dvdata[i].Row[10].ToString());
  183. row["dempid"]=Convert.ToInt32(dvdata[i].Row[15].ToString()) ;
  184. row["type"]=dvdata[i].Row[13].ToString();
  185. dtRecycle.Rows.Add(row);
  186. }
  187. else
  188. {
  189. GetTopFolder(dtRecycle,docid,folderid,type);
  190. }
  191. }
  192. return dtRecycle;
  193. }
  194. private void GetTopFolder(DataTable dtRecycle,int docid,int folderid,string type)
  195. {
  196. FileData recycleseach=(new FileA()).LoadRecycleFile();
  197. DataView dvdata2=recycleseach.Tables[FileData.FMDOC_TABLE].DefaultView;
  198. dvdata2.RowFilter="DocId="+folderid+"and TypeName='文件夹'";
  199. int counts=dvdata2.Count;
  200. if(counts!=0)
  201. {
  202. try
  203. {
  204. int did=Convert.ToInt32(dvdata2[0].Row[0].ToString(),10);  
  205. int fid=Convert.ToInt32(dvdata2[0].Row[1].ToString(),10);  
  206. GetTopFolder(dtRecycle,did,fid,FOLDER);
  207. }
  208. catch
  209. {
  210. }
  211. }
  212. else
  213. {
  214. DataView dvdata3=recycleseach.Tables[FileData.FMDOC_TABLE].DefaultView;
  215. if(type=="文件夹")
  216. {
  217. dvdata3.RowFilter="DocId="+ docid+"and TypeName='文件夹'";
  218. DataRow row = dtRecycle.NewRow();
  219. row["folderid"]=Convert.ToInt32(dvdata3[0].Row[0].ToString(),10);
  220. row["hifolderid"] =Convert.ToInt32(dvdata3[0].Row[1].ToString(),10);
  221. row["name"]=dvdata3[0].Row[14].ToString()+dvdata3[0].Row[2].ToString();
  222. int fid=Convert.ToInt32(dvdata3[0].Row[1].ToString(),10);
  223. row["path"]=GetPath(fid);
  224. row["Ddate"]=Convert.ToDateTime(dvdata3[0].Row[10].ToString());
  225. row["dempid"]=Convert.ToInt32(dvdata3[0].Row[15].ToString()) ;
  226. row["type"]=dvdata3[0].Row[13].ToString();
  227. dtRecycle.Rows.Add(row);
  228. }
  229. else
  230. {
  231. dvdata3.RowFilter="DocId="+docid+"and TypeName='"+type+"'";
  232. DataRow row = dtRecycle.NewRow();
  233. row["folderid"]=Convert.ToInt32(dvdata3[0].Row[0].ToString(),10);
  234. row["hifolderid"] =Convert.ToInt32(dvdata3[0].Row[1].ToString(),10);
  235. row["name"]=dvdata3[0].Row[14].ToString()+dvdata3[0].Row[2].ToString();
  236. int fid=Convert.ToInt32(dvdata3[0].Row[1].ToString(),10);
  237. row["path"]=GetPath(fid);
  238. row["Ddate"]=Convert.ToDateTime(dvdata3[0].Row[10].ToString());
  239. row["dempid"]=Convert.ToInt32(dvdata3[0].Row[15].ToString()) ;
  240. row["type"]=dvdata3[0].Row[13].ToString();
  241. dtRecycle.Rows.Add(row);
  242. }
  243. }
  244. }
  245. }
  246. }