protected CUserEntity CreateUser(CUserEntity newUser) { try { COrganizeEntity organize = new COrganizeEntity(_connString); List <COrganizeEntity> organizelst = new List <COrganizeEntity>(); organizelst = organize.GetObjectList("this.Org_Name ='" + _orgName + "'"); int orgRes = organizelst[0].Org_Resource; // create resource for user's folder CResourceEntity folderRes = new CResourceEntity(_connString); folderRes.Res_Name = ""; folderRes.Res_Parent = orgRes; folderRes.Res_Type = (int)RESOURCETYPE.FOLDERRESOURCE; folderRes.Res_Id = folderRes.Insert(); folderRes.Res_Name = folderRes.Res_Id.ToString() + newUser.Usr_Member; folderRes.Update(); // create user's folder //String userPath = folderRes.MakeFullPath(); String userPath = _rootPath + "\\" + folderRes.Res_Name; Directory.CreateDirectory(userPath); // create user newUser.Usr_Resource = folderRes.Res_Id; newUser.ConnString = _connString; newUser.Usr_Id = newUser.Insert(); return(newUser); } catch (Exception e) { throw e; } }
public virtual void InitDirectory(TreeNodeCollection objNodes, CUserEntity user, int resourceId) { objNodes.Clear(); CResourceEntity rootRes = new CResourceEntity(user.ConnString).Load(resourceId); if (rootRes.Res_Type != (int)RESOURCETYPE.FOLDERRESOURCE) { return; } List <CResourceEntity> children = user.ListDescendants(resourceId); bool blnHasNodes = false; foreach (CResourceEntity r in children) { if (r.Res_Type == (int)RESOURCETYPE.FOLDERRESOURCE) { blnHasNodes = true; break; } } TreeNode objNode = new TreeNode(rootRes.Res_Name); objNode.Tag = resourceId; objNode.IsExpanded = !blnHasNodes; objNode.HasNodes = blnHasNodes; objNode.Loaded = !blnHasNodes; objNodes.Add(objNode); }
public void SearchFullText(String text, int resource) { CResourceEntity res = new CResourceEntity().Load(resource); String s = res.MakeFullPath(); SearchFullText(text, s); }
private void DeleteFileHandler(object sender, EventArgs e) { if (((Form)sender).DialogResult != DialogResult.Yes) { return; } FileList currentList = GetActiveFileList(); if (currentList == null) { MessageBox.Show("请选择文件", "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { foreach (ListViewItem item in currentList.FileListView.Items) { if (item.Checked) { CResourceEntity res = new CResourceEntity(MidLayerSettings.ConnectionString).Load((int)item.Tag); String filePath = res.MakeFullPath(); _currentUser.DeleteResource((int)item.Tag); System.IO.File.Delete(filePath); } } DirTree selTree = GetActiveTree(); selTree.ReloadFileList(); } catch (Exception ex) { MessageBox.Show("系统错误: " + ex.Message, "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void menuDeleteFolder_Click(object sender, EventArgs e) { /* int selectedResource = GetSelectedTreeResource(); * if (selectedResource <= 0) * { * MessageBox.Show("请选择一个目录", "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); * return; * } */ try { int selectedResource = GetSelectedTreeResource(); CACLEntity acl = new CACLEntity(MidLayerSettings.ConnectionString); acl.Acl_Resource = selectedResource; acl.Acl_Operation = (int)ACLOPERATION.WRITE; if (!_currentUser.CheckPrivilege(acl)) { MessageBox.Show("没有写权限!", "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } CResourceEntity res = new CResourceEntity(MidLayerSettings.ConnectionString).Load(selectedResource); MessageBox.Show("确定要删除" + res.Res_Name + "目录吗?", "文档管理系统", MessageBoxButtons.YesNo, MessageBoxIcon.Question, new EventHandler(DeleteFolder_Closed)); } catch (Exception ex) { MessageBox.Show("删除目录失败:" + ex.Message, "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void ApplyForm_Load(object sender, EventArgs e) { CResourceEntity aRes = new CResourceEntity(); aRes = aRes.Load(_resId); txtResId.Text = aRes.MakeCompletePath(); }
private void btnStart_Click(object sender, EventArgs e) { try { COrganizeEntity currentOrg = new COrganizeEntity().Load(_currentUser.GetUserOrganize().Org_Id); CResourceEntity orgRes = new CResourceEntity().Load(currentOrg.Org_Resource); //string rootDir = Context.Server.MapPath("~/App_data"); string rootDir = ConfigurationManager.AppSettings["UserData"]; _temperoryFolder = rootDir + DateTime.Now.ToString("yyyy-MM-dd") + currentOrg.Org_Name; DirectoryInfo di = Directory.CreateDirectory(_temperoryFolder); Context.Session["temperoryFolder"] = _temperoryFolder; string outputPath = _temperoryFolder + @"\"; outputPath += currentOrg.Org_Name; outputPath += ".zip"; string orignPath = orgRes.MakeFullPath(); ZipFiles(orignPath, outputPath); LinkParameters objlinkParameters = new LinkParameters(); objlinkParameters.Target = "_self"; Link.Open(new Gizmox.WebGUI.Common.Gateways.GatewayReference(this, "Download"), objlinkParameters); //System.IO.File.Delete(outputPath); //di.Delete(); } catch (Exception ex) { MessageBox.Show("系统错误:" + ex.Message, "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }
private void DeleteFolder_Closed(object sender, EventArgs e) { if (((Form)sender).DialogResult != DialogResult.Yes) { return; } try { TreeNode node = GetSelectedTreeNode(); if (node == null || (int)node.Tag <= 0) { MessageBox.Show("选择的目录不存在", "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } CResourceEntity res = new CResourceEntity(MidLayerSettings.ConnectionString).Load((int)node.Tag); String dirPath = res.MakeFullPath(); _currentUser.DeleteResource((int)node.Tag); System.IO.Directory.Delete(dirPath, true); node = node.Parent; if (node != null) { DirTree selTree = GetActiveTree(); selTree.ReloadTreeNode(node); } } catch (Exception ex) { MessageBox.Show("删除目录失败:" + ex.Message, "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public virtual void DeleteFile(CUserEntity user, int resource) { CResourceEntity res = new CResourceEntity(user.ConnString).Load(resource); String filePath = res.MakeFullPath(); user.DeleteResource(resource); System.IO.File.Delete(filePath); }
private void SearchForm_Load(object sender, EventArgs e) { if (_resource > 0) { CResourceEntity res = new CResourceEntity().Load(_resource); currentDirBox.Text = "当前目录:" + res.MakeCompletePath(); } else { currentDirBox.Checked = false; currentDirBox.Enabled = false; } }
public COrganizeEntity CreateOrganize(String organizeName) { try { // create resource for this organize CResourceEntity res = new CResourceEntity(_connString); res.Res_Name = _orgName; res.Res_Parent = 0; res.Res_Type = (int)RESOURCETYPE.ORGANIZERESOURCE; res.Res_Id = res.Insert(); // create default storage folder named as organize resource id String organizePath = System.IO.Path.Combine(_path, res.Res_Id.ToString() + _orgName); Directory.CreateDirectory(organizePath); _rootPath = organizePath; CSearchDAL.AddSearchFolder(_rootPath); // create resource for default folder of organize CResourceEntity folderRes = new CResourceEntity(_connString); folderRes.Res_Name = res.Res_Id.ToString() + _orgName; folderRes.Res_Parent = 0; folderRes.Res_Type = (int)RESOURCETYPE.FOLDERRESOURCE; folderRes.Res_Id = folderRes.Insert(); // Create organize entity COrganizeEntity organize = new COrganizeEntity(_connString); organize.Org_Name = _orgName; organize.Org_Resource = folderRes.Res_Id; organize.Insert(); // create archive folder for organzie String archivePath = System.IO.Path.Combine(organizePath, "归档目录"); Directory.CreateDirectory(archivePath); // create resource for archive folder CResourceEntity archiveRes = new CResourceEntity(_connString); archiveRes.Res_Name = "归档目录"; archiveRes.Res_Parent = folderRes.Res_Id; archiveRes.Res_Type = (int)RESOURCETYPE.FOLDERRESOURCE; archiveRes.Res_Id = archiveRes.Insert(); organize.Org_ArchiveRes = archiveRes.Res_Id; organize.Update(); return(organize); } catch (Exception ex) { throw (ex); } }
public virtual void ShareResource(CUserEntity user, int resource) { CResourceEntity res = new CResourceEntity(user.ConnString).Load(resource); COrganizeEntity org = new COrganizeEntity(user.ConnString).Load(user.Usr_Organize); if (res.IsChild(user.Usr_Resource) || (user.Usr_Type == (int)USERTYPE.ORGANIZEADMIN && res.IsChild(org.Org_ArchiveRes))) { ShareForm shareForm = new ShareForm(); shareForm.CurrentUser = user; shareForm.ResourceId = resource; shareForm.ShowDialog(); } else { throw new Exception("不能共享此目录!"); } }
public virtual void DeleteFolder(CUserEntity user, int resource) { CACLEntity acl = new CACLEntity(user.ConnString); acl.Acl_Resource = resource; acl.Acl_Operation = (int)ACLOPERATION.WRITE; if (!user.CheckPrivilege(acl)) { throw new Exception("没有写权限!"); } CResourceEntity res = new CResourceEntity(user.ConnString).Load(resource); String dirPath = res.MakeFullPath(); user.DeleteResource(resource); System.IO.Directory.Delete(dirPath, true); }
/// <summary> /// 更新文件——赵英武 /// </summary> /// <param name="user"></param> /// <param name="resId"></param> /// <param name="objFileDialog"></param> public virtual void Update(CUserEntity user, int resId, OpenFileDialog objFileDialog) { CACLEntity acl = new CACLEntity(user.ConnString); acl.Acl_Resource = resId; acl.Acl_Operation = (int)ACLOPERATION.WRITE; if (!user.CheckPrivilege(acl)) { throw new Exception("没有写权限!"); } String filePath; HttpPostedFileHandle hfh = (HttpPostedFileHandle)objFileDialog.Files[0]; CResourceEntity res = new CResourceEntity().Load(resId); user.UpdateFile(resId, hfh.PostedFileName, out filePath); hfh.SaveAs(filePath); }
public void SearchKeyword(String key) { String filter = "this.Res_KeyWord like'%" + key + "%'"; List <CResourceEntity> resList = new CResourceEntity().GetObjectList(filter); foreach (CResourceEntity res in resList) { CACLEntity acl = new CACLEntity(); acl.Acl_Resource = res.Res_Id; acl.Acl_Operation = (int)ACLOPERATION.READ; if (_currentUser.CheckPrivilege(acl)) { CSearchResultItem item = new CSearchResultItem(); item.DispName = res.Res_Name; item.FullPath = res.MakeFullPath(); _result.Add(item); } } }
private void menuDeleteFolder_Click(object sender, EventArgs e) { try { int selectedResource = GetSelectedTreeResource(); if (selectedResource <= 0) { MessageBox.Show("请选择一个目录", "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } CResourceEntity res = new CResourceEntity(MidLayerSettings.ConnectionString).Load(selectedResource); MessageBox.Show("确定要删除" + res.Res_Name + "目录吗?", "文档管理系统", MessageBoxButtons.YesNo, MessageBoxIcon.Question, new EventHandler(DeleteFolder_Closed)); } catch { MessageBox.Show("删除目录失败!", "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
IGatewayHandler IGatewayControl.GetGatewayHandler(IContext objContext, string strAction) { if (strAction == "Download") { //objContext.HttpContext.Response.ContentType = "image/jpeg"; int res = (int)fileListView.SelectedItems[0].Tag; CACLEntity acl = new CACLEntity(_currentUser.ConnString); acl.Acl_Operation = (int)ACLOPERATION.READ; acl.Acl_Resource = res; acl.Acl_Role = _currentUser.Usr_Id; acl.Acl_RType = (int)ACLROLETYPE.USERROLE; if (!_currentUser.CheckPrivilege(acl)) { return(null); } CResourceEntity resource = new CResourceEntity(_currentUser.ConnString).Load(res); String fileName = "attachment; filename=\"" + resource.Res_Name + "\""; String fullPath = resource.MakeFullPath(); objContext.HttpContext.Response.AddHeader("content-disposition", fileName); objContext.HttpContext.Response.WriteFile(fullPath); } return(null); }
/// <summary> /// RootDir must be set before this is called /// </summary> public void LoadFiles() { fileListView.Items.Clear(); //List<File> fileList = _helper.GetFiles( RootDir ); List <File> fileList = _helper.GetFiles(_currentUser, _parentResourceId); if (fileList.Count == 0) { fileListView.DataSource = null; return; } /*fileListView.DataSource = fileList; * fileListView.HeaderStyle = ColumnHeaderStyle.Nonclickable; * fileListView.Columns [ 0 ].Text = "文件名"; * fileListView.Columns [ 0 ].AutoResize ( ColumnHeaderAutoResizeStyle.ColumnContent ); * fileListView.Columns [ 0 ].Type = ListViewColumnType.Text; * //fileListView.Columns [ 0 ].Image = new ImageResourceHandle ("icons/properties.gif" ); * * fileListView.Columns [ 1 ].Label = "扩展名"; * fileListView.Columns [ 1 ].Width = 60; * fileListView.Columns [ 1 ].Type = ListViewColumnType.Text ; * fileListView.Font = _defaultFnt; */ /* * ColumnHeader nameHeader = new ColumnHeader(); * nameHeader.Text = "文件名"; * nameHeader.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent); * nameHeader.Type = ListViewColumnType.Text; * nameHeader.Visible = true; * fileListView.Columns.Add(nameHeader); * * ColumnHeader extHeader = new ColumnHeader(); * extHeader.Text = "扩展名"; * extHeader.Width = 60; * extHeader.Type = ListViewColumnType.Text; * extHeader.Visible = true; * fileListView.Columns.Add(extHeader); */ foreach (File f in fileList) { ListViewItem lvi = new ListViewItem(); ListViewItem.ListViewSubItem lvsi; lvi.Text = f.FileName; IconResourceHandle icoHandle = new IconResourceHandle(f.Ext + ".gif"); if (!System.IO.File.Exists(Context.HttpContext.Server.MapPath("/resources/icons/" + f.Ext + ".gif"))) { icoHandle = new IconResourceHandle("anual.gif"); } lvi.SmallImage = icoHandle; lvi.Tag = f.ResourceId; lvsi = new ListViewItem.ListViewSubItem(); lvsi.Text = f.Ext; lvi.SubItems.Add(lvsi); lvsi = new ListViewItem.ListViewSubItem(); CResourceEntity resource = new CResourceEntity().Load(f.ResourceId); lvsi.Text = resource.Res_KeyWord; lvi.SubItems.Add(lvsi); lvsi = new ListViewItem.ListViewSubItem(); lvsi.Text = f.ResourceId.ToString(); lvi.SubItems.Add(lvsi); fileListView.Items.Add(lvi); } fileListView.Update( ); // fileListView.AutoResizeColumn ( 0 , ColumnHeaderAutoResizeStyle.ColumnContent ); }
private void OKBtn_Click(object sender, EventArgs e) { String targetText = targetBox.Text; if (targetText.Length <= 0) { MessageBox.Show("请填写检索内容!", "文档管理系统", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } List <String> searchScopes = new List <string>(); if (currentDirBox.Checked) { CResourceEntity res = new CResourceEntity().Load(_resource); String curDir = res.MakeFullPath(); searchScopes.Add(curDir); } if (myDirBox.Checked) { int myDirId = _currentUser.Usr_Resource; CResourceEntity res = new CResourceEntity().Load(myDirId); String myDir = res.MakeFullPath(); searchScopes.Add(myDir); } if (archiveDirBox.Checked) { int archiveId = _currentUser.GetUserOrganize().Org_ArchiveRes; CACLEntity acl1 = new CACLEntity(); acl1.Acl_Resource = archiveId; acl1.Acl_Operation = (int)ACLOPERATION.READ; if (_currentUser.CheckPrivilege(acl1)) { CResourceEntity res = new CResourceEntity().Load(archiveId); String archiveDir = res.MakeFullPath(); searchScopes.Add(archiveDir); } else { List <CResourceEntity> ress = _currentUser.ListDescendants(archiveId); foreach (CResourceEntity res in ress) { searchScopes.Add(res.MakeFullPath()); } } } if (shareDirBox.Checked) { List <CResourceEntity> ress = _currentUser.ListShareResources(); foreach (CResourceEntity res in ress) { searchScopes.Add(res.MakeFullPath()); } } _result.Clear(); foreach (String s in searchScopes) { SearchFullText(targetText, s); } this.DialogResult = DialogResult.OK; Close(); }