예제 #1
0
        /// <summary>
        /// 查询所有的文档树
        /// </summary>
        /// <returns></returns>
        public List <document_tree> getAllDocumentTree()
        {
            List <document_tree> docTlist = new List <document_tree>();
            document_tree        t1       = new document_tree();

            t1.id        = 1;
            t1.name      = "文档树";
            t1.parent_id = -1;

            document_tree t2 = new document_tree();

            t2.id        = 2;
            t2.name      = "项目文档";
            t2.parent_id = 1;

            document_tree t3 = new document_tree();

            t3.id        = 3;
            t3.name      = "文件夹";
            t3.parent_id = 1;

            document_tree t4 = new document_tree();

            t4.id        = 4;
            t4.name      = "文件夹1";
            t4.parent_id = 3;

            docTlist.Add(t1);
            docTlist.Add(t2);
            docTlist.Add(t3);
            docTlist.Add(t4);

            return(docTlist);
        }
예제 #2
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         if (actionType == 2)
         {
             this.docTree.name = this.txtName.Text;
             WcfServiceLocator.Create <IDocManageTool>().addDocumentTree(docTree);
         }
         else
         {
             this.docTree.name = this.txtName.Text;
             docTree           = WcfServiceLocator.Create <IDocManageTool>().updateDocumentTree(docTree);
             this.docTree.id   = 7;
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
     // 保存新建的分类
     DialogResult = DialogResult.OK;
     this.Close();
 }
예제 #3
0
 /// <summary>
 /// 自定义构造函数
 /// </summary>
 /// <param name="d2"></param>
 public DocBulkImport(document_tree d2)
 {
     InitializeComponent();
     this.docType = d2;
     docList      = new List <document>();
 }
예제 #4
0
 /// <summary>
 /// 删除文档分类
 /// </summary>
 /// <returns></returns>
 public bool delDocumentTree(document_tree docT)
 {
     return(true);
 }
예제 #5
0
 /// <summary>
 /// 修改文档分类
 /// </summary>
 /// <returns></returns>
 public document_tree updateDocumentTree(document_tree docT)
 {
     return(docT);
 }
예제 #6
0
 /// <summary>
 /// 创建文档分类
 /// </summary>
 /// <returns></returns>
 public document_tree addDocumentTree(document_tree docT)
 {
     return(docT);
 }
예제 #7
0
        /// <summary>
        /// 右键文档夹菜单事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void contextMenuFiles_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            this.contextMenuFiles.Visible = false;
            if (e.ClickedItem.Name == "cutFileItem")
            {
                // 剪切
                cutNode = node;
                this.cutFileItem.Enabled      = false;
                this.cutItem.Enabled          = false;
                this.copyDocClassItem.Enabled = false;
                this.pasteItem.Enabled        = true;
            }
            else if (e.ClickedItem.Name == "pasteItem")
            {
                // 粘贴
                if (cutNode.Tag.GetType() == typeof(document))
                {
                    // 更新后台的数据
                    document doc = ((document)cutNode.Tag);
                    doc.document_type_id   = ((document_tree)node.Tag).id;
                    doc.document_type_name = ((document_tree)node.Tag).name;
                    // 调用接口来更新后台数据


                    //粘贴的当前节点添加
                    DevExpress.XtraTreeList.Nodes.TreeListNode tns = node.TreeList.AppendNode(doc.id, node);
                    tns.SetValue(DocName, doc.cn_name);
                    tns.SetValue(DocID, doc.id);
                    tns.SetValue(DocType, "File");
                    tns.Tag = doc;
                    //剪切的当前节点减少
                    this.treeList1.DeleteNode(cutNode);
                }
                else
                {
                    document_tree docTree = (document_tree)cutNode.Tag;
                    docTree.parent_id   = ((document_tree)node.Tag).id;
                    docTree.parent_name = ((document_tree)node.Tag).name;
                    // 调用接口来更新后台数据

                    //粘贴的当前节点添加
                    DevExpress.XtraTreeList.Nodes.TreeListNode tns = node.TreeList.AppendNode(docTree.id, node);
                    tns.SetValue(DocName, docTree.name);
                    tns.SetValue(DocID, docTree.id);
                    tns.SetValue(DocType, "Files");
                    tns.ImageIndex = 0;
                    tns.Tag        = docTree;
                    GetCentralChild(tns, docTree.id, docTree.all_name);
                    //剪切的当前节点减少
                    this.treeList1.DeleteNode(cutNode);
                }

                this.cutFileItem.Enabled      = true;
                this.cutItem.Enabled          = true;
                this.copyDocClassItem.Enabled = true;
                this.pasteItem.Enabled        = false;
            }
            else if (e.ClickedItem.Name == "copyDocClassItem")
            {
                // 复制文档分类
                this.cutFileItem.Enabled      = false;
                this.cutItem.Enabled          = false;
                this.copyDocClassItem.Enabled = false;
                this.pasteItem.Enabled        = true;
            }
            else if (e.ClickedItem.Name == "expandAllItem")
            {
                // 展开
                node.ExpandAll();
            }
            else if (e.ClickedItem.Name == "collapseAllItem")
            {
                // 折叠
                treeList1.CollapseAll();
            }
            else if (e.ClickedItem.Name == "loadingItem")
            {
                // 加载文档
                //	加载文档是指将该分类的分类和文档呈树形显示供查看其中内容;
            }
            else if (e.ClickedItem.Name == "addDocItem")
            {
                // 录入已有文档
                //	录入已有文档是指将本地已完成的文档录入到PDM系统中;
                document document = new document();
                document.document_type_id   = ((document_tree)node.Tag).id;
                document.document_type_name = ((document_tree)node.Tag).all_name;
                DocModify docModify = new DocModify(document, 1);
                if (DialogResult.OK == docModify.ShowDialog())
                {
                    DevExpress.XtraTreeList.Nodes.TreeListNode tns = node.TreeList.AppendNode(docModify.docSave.id, node);
                    tns.SetValue(DocName, docModify.docSave.cn_name);
                    tns.SetValue(DocID, docModify.docSave.id);
                    tns.SetValue(DocType, "Files");
                    tns.Tag = docModify.docSave;
                    // 修改文档成功!
                    MessageBox.Show("创建成功!");
                }
            }
            else if (e.ClickedItem.Name == "importItem")
            {
                // 批量导入文档
                //	文档批量导入是指将本地已完成的多个文档一次录入到PDM系统中;
                DocBulkImport import = new DocBulkImport((document_tree)node.Tag);
                if (DialogResult.OK == import.ShowDialog())
                {
                    // 批量导入成功!
                }
            }
            else if (e.ClickedItem.Name == "downDocItem")
            {
                // 下载
                // 打开文件夹
                FolderBrowserDialog dlg = new FolderBrowserDialog();
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    // 开启socket文件
                    SocketServer s = new SocketServer("127.0.0.1", 7774, dlg.SelectedPath + "\\");
                    s.start();
                    var files = from d in doclist where d.document_type_id != 0 && d.document_type_id == ((document_tree)node.Tag).id select d;
                    if (files.Count() < 1)
                    {
                        return;
                    }
                    List <document> list = new List <document>();
                    foreach (document st in files)
                    {
                        st.ipaddress = "127.0.0.1";
                        st.port      = 7774;
                        list.Add(st);
                    }
                    bool flag = WcfServiceLocator.Create <IDocManageTool>().downDocumentAll(list);
                    while (!(flag && s.flag))
                    {
                        System.Threading.Thread.Sleep(1000);
                    }
                    s.lisner.Stop();
                    s.TempThread.Abort();
                }
            }
            else if (e.ClickedItem.Name == "updateDocTreeStatusItem")
            {
                // 更新文档状态
                //	更新文档状态是指将该分类下文档状态已改变而显示界面上无变化时,点击改变界面显示;
            }
            else if (e.ClickedItem.Name == "grantDocItem")
            {
                // 发放文档
                //
            }
            else if (e.ClickedItem.Name == "permissionApplyDocItem")
            {
                // 申请权限
            }
            else if (e.ClickedItem.Name == "scanDocGrantRItem")
            {
                // 查看文档发放规则
            }
            else if (e.ClickedItem.Name == "addDocTreeItem")
            {
                // 增加文档分类
                document_tree doct = new document_tree();
                doct.parent_id   = ((document_tree)node.Tag).id;
                doct.parent_name = ((document_tree)node.Tag).name;
                BuildDocCategory docCat = new BuildDocCategory(doct, 1);
                if (docCat.ShowDialog() == DialogResult.OK)
                {
                    DevExpress.XtraTreeList.Nodes.TreeListNode tns = node.TreeList.AppendNode(docCat.docTree.id, node);
                    tns.SetValue(DocName, docCat.docTree.name);
                    tns.SetValue(DocID, docCat.docTree.id);
                    tns.SetValue(DocType, "Files");
                    docCat.docTree.all_name = ((document_tree)(node.Tag)).all_name + @"\" + docCat.docTree.name;
                    tns.Tag = docCat.docTree;
                    // 添加成功!
                }
            }
            else if (e.ClickedItem.Name == "updatedocTreeItem")
            {
                // 修改文档分类
                document_tree docType = new document_tree();
                docType.parent_id   = ((document_tree)node.Tag).parent_id;
                docType.parent_name = ((document_tree)node.Tag).parent_name;
                docType.id          = ((document_tree)node.Tag).id;
                docType.name        = ((document_tree)node.Tag).name;
                BuildDocCategory docCat = new BuildDocCategory(docType, 2);
                if (docCat.ShowDialog() == DialogResult.OK)
                {
                    // 修改成功!
                    ((document_tree)node.Tag).name = docCat.docTree.name;
                    node.SetValue(DocName, docCat.docTree.name);
                }
            }
            else if (e.ClickedItem.Name == "delDocTreeItem")
            {
                // 删除文档分类
                if (MessageBox.Show("确认删除?", "警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    bool flag = WcfServiceLocator.Create <IDocManageTool>().delDocumentTree((document_tree)node.Tag);
                    if (flag)
                    {
                        // 删除文件夹
                        this.treeList1.DeleteNode(node);
                    }
                }
            }
            else if (e.ClickedItem.Name == "scanDocTypeItem")
            {
                // 查看文档分类
                document_tree docType = new document_tree();
                docType.parent_id   = ((document_tree)node.Tag).parent_id;
                docType.parent_name = ((document_tree)node.Tag).parent_name;
                docType.id          = ((document_tree)node.Tag).id;
                docType.name        = ((document_tree)node.Tag).name;
                BuildDocCategory docCat = new BuildDocCategory(docType, 3);
                docCat.ShowDialog();
            }
            else if (e.ClickedItem.Name == "execlEmportItem")
            {
                // excel导出
            }
            else if (e.ClickedItem.Name == "userImportItem")
            {
                // 自定义导出
            }
            else if (e.ClickedItem.Name == "docCountStaItem")
            {
                // 文档数量统计,统计该节点下文件的数目
                int count = GetChildNodes(node);
                MessageBox.Show("共有文档" + count + "个");
            }
        }
예제 #8
0
 public BuildDocCategory(document_tree _docTree, int actionType)
 {
     InitializeComponent();
     this.docTree    = _docTree;
     this.actionType = actionType;
 }