securityfmpage.aspx.cs

来自「asp。net 2.0宝典一书源码 全书源码给大家共享」· CS 代码 · 共 577 行 · 第 1/2 页

CS
577
字号
		{
			//取得文件夹和文件的ID
			int FolderId =Convert.ToInt32(E.Item.Cells[1].Text);
			int DocId=Convert.ToInt32(E.Item.Cells[0].Text); 
			//如果是根目录文件
			if(FolderId==0)
			{
				//判断用户是否有此文件的管理权限
				if(RightForManage_Doc(DocId)==true)
				{
					//删除文件
					DeleteDoc(DocId,fm_empid);
					FirstLoad();
				}
				else
				{
					Response.Write("<script language='javascript'>alert('您没有权限管理该文件!');</script>"); 
				}
			}
			else
			{
				//如果删除的是文件,先判断该文件的父文件是否有管理权限
				if(RightForManage_Folder(FolderId)==true)
				{
					//桌面文件
					if( DocId==0)
					{
						DeleteFolder(FolderId);
					}
					else
					{   
						//下级文件夹或文件
						int fid;
						fid = Convert.ToInt32(Session["_fm_id"].ToString());
						if(FolderId==fid)
						{
							if(RightForManage_Doc(DocId)==true)
							{
								DeleteDoc(DocId,fm_empid);
								ReBind(fid);
							}
						}
						else
						{
							//删除该文件夹和其下面的所有文件夹
							DeleteFolder(FolderId); 
							ReBind(fid);
						}
					}
					//刷新
					UpdateLeftTree();
				}
				else
				{
					Response.Write("<script language='javascript'>alert('您没有权限管理该文件夹!');</script>"); 
				}
			}
		}

		public void DeleteFolder(int folderid)
		{
			FileA FileA =new FileA(); 
			//获取folderid文件夹下所有子文件夹并存入arrlist
			ArrayList arrlist=(new FileA()).GetDelFolderId(folderid);

			for(int i=0;i<arrlist.Count;i++)
			{
				int foldid=Convert.ToInt32(arrlist[i].ToString(),10); 
				//删除子文件夹
				FileA.DeleteFolder(foldid,fm_empid,1); 
			}
			//得到所有子文件夹下的所有子文件的ID,保存在arrlistDoc中
			ArrayList arrlistDoc= FileA.GetDelDocId(arrlist);

			for(int j=0;j<arrlistDoc.Count;j++)
			{
				//从子文件的集合中取出每个文件的ID
				int docid=Convert.ToInt32(arrlistDoc[j].ToString(),10);
				//删除文件
				DeleteDoc(docid,fm_empid);
			}
			//根据保存在Session中的当前文件ID刷新页面
			int fid=Convert.ToInt32(Session["_fm_id"].ToString(),10);
			if(fid==0)
			{
				FirstLoad();
			}
			else
			{
				ReBind(fid);
			}
		}

		public void DeleteDoc(int docid,int empid)
		{
			FileA filedata=new FileA();
			filedata.DeleteDoc(docid,empid);  
		}
		
		public bool RightForManage_Folder(int folderid)
		{
			int depid=(new FileRight()).GetDepId(fm_empid); 
			string rightctr_dep=(new FileBLL()).GetFolderRightForDep(folderid,depid); 
			if(rightctr_dep=="Admin")
			{
				return true;
			}
			else
			{
				string rightctr_emp=(new FileBLL()).GetFolderRight(folderid,fm_empid);
				if(rightctr_emp=="Admin")
				{
					return true;
				}
				else
				{
					return false;
				}
			}
		}
		
		public bool RightForManage_Doc(int docid)
		{
			int depid=(new FileRight()).GetDepId(fm_empid);
			string rightctr_dep=(new FileBLL()).GetDocRightForDep(docid,depid); 
			if(rightctr_dep=="Admin")
			{
				return true;
			}
			else
			{
				string rightctr_emp=(new FileBLL()).GetDocRight(docid,fm_empid);
				if(rightctr_emp=="Admin")
				{
					return true;
				}
				else
				{
					return false;
				}
			}
		}

		public void  RightForEdit_Folder(int folderid,int docid,int empid)
		{
			string rightctr_emp=(new FileBLL()).GetFolderRight(folderid,empid);
			if(rightctr_emp=="Admin"||rightctr_emp=="Write"||rightctr_emp=="Read")
			{
				Response.Redirect("fmNewFolder.aspx?type=-3&id="+ folderid+"&docid="+docid); 
			}
			else
			{
				int depid=(new FileRight()).GetDepId(empid); 
				string rightctr_dep=(new FileBLL()).GetFolderRightForDep(folderid,depid); 
				if(rightctr_dep=="Admin"||rightctr_dep=="Write"||rightctr_dep=="Read")
				{
					Response.Redirect("fmNewFolder.aspx?type=-3&id="+ folderid+"&docid="+docid);
				}
				else 
				{
					Response.Write("<script language='javascript'>alert('您没有权限访问改文件夹!');</script>"); 
				}
			}
		}

		public DataTable CreateTable(DataView dv)
		{
			DataTable dvtable=new DataTable();
			DataColumnCollection d= dvtable.Columns; 
			d.Add("folderid",typeof(System.Int32)); 
			d.Add("Docid", typeof(System.Int32));
			d.Add("fname",typeof(System.String)); 
			d.Add("typename",typeof(System.String));
			d.Add("note",typeof(System.String));
			d.Add("empid",typeof(System.String));
			d.Add("cdate",typeof(System.String));
			int recordcount = dv.Count;
			for(int i=0;i<recordcount;i++)
			{
				DataRow row = dvtable.NewRow();
				row["folderid"]=Convert.ToInt32(dv[i].Row[0].ToString(),10);
				row["Docid"] =Convert.ToInt32(dv[i].Row[1].ToString(),10);
				row["fname"]=dv[i].Row[14].ToString()+dv[i].Row[3].ToString();
				row["note"]=dv[i].Row[5].ToString();     
				DateTime cdate=Convert.ToDateTime(dv[i].Row[7].ToString());
				row["cdate"]=cdate.Year+"-"+cdate.Month+"-"+cdate.Day;   
				row["empid"]=(new FileA()).GetEmpName(Convert.ToInt32(dv[i].Row[9].ToString()));
				row["typename"]=dv[i].Row[13].ToString();
				dvtable.Rows.Add(row);
			}
			return dvtable;
		}
		
		private void dgdFolder_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			//如果文件或文件夹移动
			if(e.CommandName=="move")
			{
				//得到文件夹和文件的ID
				int did=Convert.ToInt32(e.Item.Cells[0].Text.ToString(),10);
				int fid=Convert.ToInt32(e.Item.Cells[1].Text.ToString(),10);
				
				if(did==0&&fid!=0)
				{
					//桌面文件夹

					//判断用户对该文件夹是否有管理权限
					if(RightForManage_Folder(fid)==true)
					{
						Response.Redirect("fmSelFolder.aspx?DocId="+did+"&FolderId="+fid);
					}
					else
					{
						Response.Write("<script language='javascript'>alert('您没有权限管理该文件夹!');</script>"); 
					}
				}					
				else if(did!=0&&fid==0)
				{
					//桌面文件

					//判断用户对该文件夹是否有管理权限
					if(RightForManage_Doc(did)==true)
					{
						Response.Redirect("fmSelFolder.aspx?DocId="+did+"&FolderId="+fid);
					}
					else
					{
						Response.Write("<script language='javascript'>alert('您没有权限管理该文件!');</script>"); 
					}
				}
				else if(did!=0&&fid!=0)
				{
					//下级文件夹或文件

					//父目录ID
					int id=Convert.ToInt32(Session["_fm_id"].ToString());
					//下级文件夹
					if(fid!=id )
					{
						//判断用户对该文件夹是否有管理权限
						if(RightForManage_Folder(fid)==true)
						{
							Response.Redirect("fmSelFolder.aspx?DocId="+did+"&FolderId="+fid);
						}
						else
						{
							Response.Write("<script language='javascript'>alert('您没有权限管理该文件夹!');</script>"); 
						}
						
					}
					//下级文件编辑
					else
					{
						//判断用户对该文件是否有管理权限
						if(RightForManage_Doc(did)==true)
						{
							Response.Redirect("fmSelFolder.aspx?DocId="+did+"&FolderId="+fid);
						}
						else
						{
							Response.Write("<script language='javascript'>alert('您没有权限管理该文件!');</script>"); 
						}
					}
				}
			}
		}
		
		private void UpdateLeftTree()
		{
			Response.Write("<script>parent.frmDocTree.location.reload();</script>");
		}

	   private void dgdFolder_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
		{
			ListItemType itemType = e.Item.ItemType;
			e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#fff7ce';cursor='hand';" ;
			if (itemType == ListItemType.Item )
			{
				e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#dedfde';";
			}
			else if( itemType == ListItemType.AlternatingItem)
			{
				e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#ffffff';";
			}
		}
	}
}

⌨️ 快捷键说明

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