Example #1
0
        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;
            }
        }
Example #2
0
        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);
        }
Example #3
0
        public void SearchFullText(String text, int resource)
        {
            CResourceEntity res = new CResourceEntity().Load(resource);
            String          s   = res.MakeFullPath();

            SearchFullText(text, s);
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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);
            }
        }
Example #6
0
        private void ApplyForm_Load(object sender, EventArgs e)
        {
            CResourceEntity aRes = new CResourceEntity();

            aRes          = aRes.Load(_resId);
            txtResId.Text = aRes.MakeCompletePath();
        }
Example #7
0
        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);
            }
        }
Example #8
0
        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);
            }
        }
Example #9
0
        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);
        }
Example #10
0
 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;
     }
 }
Example #11
0
        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);
            }
        }
Example #12
0
        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("不能共享此目录!");
            }
        }
Example #13
0
        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);
        }
Example #14
0
        /// <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);
        }
Example #15
0
        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);
                }
            }
        }
Example #16
0
        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);
            }
        }
Example #17
0
 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);
 }
Example #18
0
        /// <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 );
        }
Example #19
0
        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();
        }