Пример #1
0
        public void SelectObject(RadTreeNode info)
        {
            bool flag = info == null;

            if (flag)
            {
                this.listView1.Items.Clear();
            }
            else
            {
                NBatchInfo nBatchInfo = info.Tag as NBatchInfo;
                bool       flag2      = nBatchInfo != null;
                if (flag2)
                {
                    this.SelectObject(nBatchInfo);
                }
                else
                {
                    NFileInfo nFileInfo = info.Tag as NFileInfo;
                    bool      flag3     = nFileInfo != null;
                    if (flag3)
                    {
                        this.SelectObject(nFileInfo);
                    }
                    else
                    {
                        this.SelectObject(nFileInfo);
                    }
                }
            }
        }
Пример #2
0
        public void ShowNodeInfo(RadTreeNode node, bool InvockUI)
        {
            this._selectedNode = node;
            if (this._selectedNode != null)
            {
                this._selectedNode.UpdateNodeNInfo();
                this.propertyGrid1.SelectedObject = this._selectedNode.Tag;
            }
            else
            {
                this.propertyGrid1.SelectedObject = null;
            }
            if (InvockUI)
            {
                (base.Parent.Parent as TabControl).SelectedTab = (base.Parent as TabPage);
            }
            bool flag2 = this._selectedNode != null;

            if (flag2)
            {
                bool flag3 = this._selectedNode.Tag is NFileInfo;
                if (flag3)
                {
                    NFileInfo nFileInfo = this._selectedNode.Tag as NFileInfo;
                    this.lbCount.Text     = "批注数目";
                    this.lbFileCount.Text = nFileInfo.NotesList.Count.ToString();
                    this.rbAfixx.Visible  = false;
                    this.rbMaster.Visible = false;
                }
                else
                {
                    bool flag4 = this._selectedNode.Tag is NBatchInfo;
                    if (flag4)
                    {
                        this.lbCount.Text = "附件数目";
                        int num = 0;
                        foreach (RadTreeNode current in this._selectedNode.Nodes)
                        {
                            NFileInfo nFileInfo2 = current.Tag as NFileInfo;
                            bool      flag5      = nFileInfo2 != null;
                            if (flag5)
                            {
                                num++;
                            }
                        }
                        this.lbFileCount.Text = this._selectedNode.Nodes.Count.ToString() + "个,(主件" + num.ToString() + ")";
                        this.rbAfixx.Visible  = false;
                        this.rbMaster.Visible = false;
                    }
                    bool flag6 = this._selectedNode.Tag is NCategoryInfo;
                    if (flag6)
                    {
                    }
                }
            }
        }
Пример #3
0
        public void SelectObject(NFileInfo info)
        {
            this.listView1.Items.Clear();
            bool flag = info != null;

            if (flag)
            {
                this.AddItem("编号", info.FileNO);
                this.AddItem("文件", info.FileName);
                this.AddItem("创建时间", info.GetCreateTime().ToViewTime());
            }
        }
Пример #4
0
        private void NavigateTreeOnItemSelectChanged(object sender, TEventArg <RadTreeNode> e)
        {
            NFileInfo curFileInfo = null;
            bool      flag        = e == null || e.Arg == null || e.Arg.Tag == null;

            if (!flag)
            {
                curFileInfo = (e.Arg.Tag as NFileInfo);
            }
            UCCenterView.GetInstance().CurFileInfo = curFileInfo;
            UCRightPane.GetIntstance().OnNodeChanged(e.Arg, false);
        }
 /// <summary>
 /// 根据FileInfo更新节点
 /// </summary>
 /// <param name="node"></param>
 /// <param name="fileInfo"></param>
 public static RadTreeNode UpdateFileNode(this RadTreeNode node, NFileInfo fileInfo)
 {
     node.ToolTipText = fileInfo.ToUITipString();
     node.Text        = fileInfo.DisplayName;
     node.SetImageIcon(fileInfo.LocalPath, NavigateTree.ThumbImgSize, NavigateTree.ThumbImgSize);
     if ((node.Tag as NFileInfo).Operation != EOperType.eADD)
     {
         fileInfo.Operation = EOperType.eUPD;
     }
     fileInfo.FileNO = (node.Tag as NFileInfo).FileNO;
     node.Tag        = fileInfo;
     return(node);
 }
        public static void RemovceFileNode(this RadTreeNode node)
        {
            NFileInfo fileInfo = node.Tag as NFileInfo;

            if (fileInfo.Operation == EOperType.eADD)    //从本地添加的文件,直接删除
            {
                node.Remove();
            }//else if(fileInfo.Operation == EOperType.eFROM_SERVER_NOTCHANGE || fileInfo.Operation == EOperType..eUPD) //来自服务器(包括更新状态)的文件设置删除标识
            else
            {
                node.Visible       = false;
                fileInfo.Operation = EOperType.eDEL;
            }
        }
Пример #7
0
        private void Fnodeexportpdf_Click(object sender, EventArgs e)
        {
            NFileInfo tag = navigateTree.SelectedNode.Tag as NFileInfo;

            if ((tag != null) && FileHelper.IsImageExt(tag.FileName))
            {
                SaveFileDialog dialog = new SaveFileDialog
                {
                    FileName = tag.LocalPath + ".pdf"
                };
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    PDFHelper.Img2PDF(tag.LocalPath, dialog.FileName);
                    SystemHelper.ExplorerFile(dialog.FileName);
                }
            }
        }
        /// <summary>
        /// 更新文件节点的目录信息,提交批次时调用
        /// </summary>
        /// <param name="filenode"></param>
        /// <returns></returns>
        public static string UpdateFileNodeCatInfo(this RadTreeNode filenode)
        {
            NFileInfo   nFileInfo = filenode.Tag as NFileInfo;
            string      text      = "";
            RadTreeNode parent    = filenode.Parent;

            while (parent.Tag is NCategoryInfo)
            {
                text   = (parent.Tag as NCategoryInfo).CategoryName + "." + text;
                parent = parent.Parent;
            }
            if (!string.IsNullOrEmpty(text))
            {
                text = text.Substring(0, text.Length - 1);
            }
            nFileInfo.Category = text;
            return(text);
        }
Пример #9
0
        /// <summary>
        /// 创建来自本地采集文件的节点,根据BatchInfo的LastNo生成FileNo
        /// </summary>
        /// <param name="parentNode"></param>
        /// <param name="fileInfo"></param>
        /// <param name="contextMenu"></param>
        /// <param name="batchInfo"></param>
        /// <returns></returns>
        public RadTreeNode CreateFileNodeFromLocal(RadTreeNode parentNode, NFileInfo fileInfo, NBatchInfo batchInfo)
        {
            fileInfo.BatchNO = batchInfo.BatchNO;
            batchInfo.LastNO++;
            fileInfo.FileNO = batchInfo.LastNO.ToString();

            RadTreeNode fileNode = parentNode.Nodes.Add(fileInfo.DisplayName);

            fileNode.SetImageIcon(fileInfo.LocalPath, ThumbImgSize, ThumbImgSize);
            //node2.Image = ImageHelper.LoadSizedImage(info.LocalPath, this.GetSetting().ThumbImgSize, this.GetSetting().ThumbImgSize);
            fileNode.Tag           = fileInfo;
            fileNode.Selected      = true;
            fileNode.ToolTipText   = fileInfo.ToUITipString();
            fileNode.ContextMenu   = fileContextMenu;
            fileNode.ItemHeight    = ThumbImgSize;
            fileNode.Checked       = true;
            fileNode.TextAlignment = ContentAlignment.MiddleCenter;

            return(fileNode);
        }
        protected virtual void OnFileAcquied(string FilePath)
        {
            NFileInfo fileInfo = new NFileInfo();

            fileInfo.SetDate(DateTime.Now);
            fileInfo.Author    = AccountSetting.GetInstance().AccountName;
            fileInfo.LocalPath = FilePath;
            fileInfo.FileName  = FileHelper.GetFileName(FilePath);
            fileInfo.Operation = EOperType.eADD;

            NBatchInfo  batchInfo = null;
            RadTreeNode batchNode;

            if (this._lastScanOpeType == ScanOpe.Add)
            {
                if (navigateTree.GetRadTree().Nodes.Count == 0)
                {
                    string batchNo = BatchNoMaker.Cur.FromInputDialog(FilePath);
                    if (string.IsNullOrEmpty(batchNo))
                    {
                        return;
                    }
                    batchInfo = new NBatchInfo
                    {
                        BatchNO = batchNo
                    };
                    batchNode = navigateTree.CreateBatchNode(batchInfo);
                }
                else if (navigateTree.GetRadTree().SelectedNode != null)
                {
                    batchNode = navigateTree.GetRadTree().SelectedNode.GetBatchNode();
                    batchInfo = batchNode.Tag as NBatchInfo;
                }
                else
                {
                    batchNode = navigateTree.GetRadTree().Nodes[navigateTree.GetRadTree().Nodes.Count - 1];
                    batchInfo = batchNode.Tag as NBatchInfo;
                }
                RadTreeNode fileNode = navigateTree.CreateFileNodeFromLocal(batchNode, fileInfo, batchInfo);

                batchNode.ExpandAll();
                navigateTree.UpdateBatchNodeTitle(batchNode);
                Application.DoEvents();
            }
            else if (this._lastScanOpeType == ScanOpe.ReplaceCurrent)
            {
                RadTreeNode selectedNode = navigateTree.SelectedNode.UpdateFileNode(fileInfo);
                //this.OnItemSelectChanged(this, new TEventArg<RadTreeNode>(selectedNode));
            }
            else if (this._lastScanOpeType == ScanOpe.AddToCur)
            {
                //TODO AddToCur?

                /*RadTreeNode node = navigateTree.SelectedNode;
                 * if (node.Tag is NFileInfo)
                 * {
                 *  node = node.Parent;
                 * }*/
                batchNode = navigateTree.SelectedNode;
                batchInfo = batchNode.Tag as NBatchInfo;
                //NFileInfo info4 = new NFileInfo();
                //info4.SetDate(DateTime.Now);
                //info4.LocalPath = FilePath;
                //info4.FileName = FileHelper.GetFileName(FilePath);
                //info4.Operation = EOperType.eADD;
                //RadTreeNode node5 = node.Nodes.Add(info4.DisplayName);
                //node.TextAlignment = ContentAlignment.MiddleCenter;
                //node5.SetImageIcon(info4.LocalPath, this._viewfileinfoicon);
                //node5.Tag = info4;
                //this.SetFileNodeDefualtProperty(node5);
                //node5.Selected = true;
                //node5.ToolTipText = info4.ToUITipString();
                //node.ExpandAll();

                RadTreeNode fileNode = navigateTree.CreateFileNodeFromLocal(batchNode, fileInfo, batchInfo);

                navigateTree.UpdateBatchNodeTitle(batchNode);
                Application.DoEvents();
            }
        }
Пример #11
0
        public NBatchInfoGroup ToBatch()
        {
            NBatchInfoGroup group = new NBatchInfoGroup();

            foreach (RadTreeNode node in navigateTree.Nodes)
            {
                NBatchInfo batchInfo = node.Tag as NBatchInfo;
                batchInfo.FileInfos.Clear();
                //List<String> categoryNames = node.Nodes.Where<RadTreeNode>(x => x.Tag is NCategoryInfo).ToList().Select<RadTreeNode, String>(x => (x.Tag as NCategoryInfo).CategoryName).ToList();
                //batchInfo.Categorys = categoryNames;
                int count = node.Nodes.Count;
                if (batchInfo.Operation == EOperType.eADD)
                {
                    //获取所有文件节点
                    List <RadTreeNode> fileNodes = NavigateTreeHelper.GetAllChildFileNodes(node);
                    foreach (RadTreeNode fileNode in fileNodes)
                    {
                        fileNode.UpdateFileNodeCatInfo();
                        batchInfo.FileInfos.Add(fileNode.Tag as NFileInfo);
                    }
                    group.Batchs.Add(batchInfo);
                }
                else
                {
                    if (batchInfo.Operation == EOperType.eFROM_SERVER_NOTCHANGE || batchInfo.Operation == EOperType.eUPD)
                    {
                        int version;
                        int num3 = 1;
                        batchInfo.FileInfos.Clear();
                        List <RadTreeNode> list2 = NavigateTreeHelper.GetAllChildFileNodes(node);
                        foreach (RadTreeNode node3 in list2)
                        {
                            node3.UpdateNodeNInfo();
                            NFileInfo info3 = node3.Tag as NFileInfo;
                            info3.SetupFileInfo();
                            if (info3.OrigData == null) //本地添加文件
                            {
                                info3.Operation     = EOperType.eADD;
                                batchInfo.Operation = EOperType.eUPD;
                                batchInfo.FileInfos.Add(node3.Tag as NFileInfo);
                            }
                            else if (info3.Operation == EOperType.eDEL)  //要删除的文件, 清空数据,减少数据传输
                            {
                                info3.Data          = null;
                                batchInfo.Operation = EOperType.eUPD;
                                batchInfo.FileInfos.Add(node3.Tag as NFileInfo);
                            }
                            else if (info3.FileMD5 != info3.OrigData.FileMD5)   //判断文件内容是否变化,有问题,操作节点时不操作Info对象
                            {
                                info3.Operation = EOperType.eUPDATEFILE;
                                NFileInfo origData = info3.OrigData;
                                version             = origData.Version;
                                origData.Version    = version + 1;
                                info3.Version       = version;
                                batchInfo.Operation = EOperType.eUPD;
                                batchInfo.FileInfos.Add(node3.Tag as NFileInfo);
                            }
                            else if (!info3.MyEqual(info3.OrigData))    //判断文件属性是否变化
                            {
                                info3.Operation     = EOperType.eUPDATEBASIC;
                                info3.Version       = (info3.OrigData.Version++);
                                info3.Data          = null;
                                batchInfo.Operation = EOperType.eUPD;
                                batchInfo.FileInfos.Add(node3.Tag as NFileInfo);
                            }
                            //没有任何变化不传输
                        }
                    }
                    if (batchInfo.Operation == EOperType.eUPD)
                    {
                        batchInfo.Version++;
                        group.Batchs.Add(batchInfo);
                    }
                }
            }
            return(group);
        }
Пример #12
0
        private void menuExplorerFile_Click(object sender, EventArgs e)
        {
            NFileInfo tag = navigateTree.SelectedNode.Tag as NFileInfo;

            SystemHelper.ExplorerFile(tag.LocalPath);
        }