Exemplo n.º 1
0
 /// <summary>
 /// 全不选
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void noSelectToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (this.updateTriSatateTreeView.SelectedNode != null)
     {
         TriStateTreeNodeHelper.Checked(this.updateTriSatateTreeView, this.updateTriSatateTreeView.SelectedNode, false);
     }
     else
     {
         TriStateTreeNodeHelper.Checked(this.updateTriSatateTreeView, false);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 撤销挂起的更改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void undobtn_Click(object sender, EventArgs e)
        {
            if (tfsHelper != null)
            {
                List <FileInfo> fileInfos = TriStateTreeNodeHelper.GetTreeNodeChecked(this.updateTriSatateTreeView.Nodes);

                if (fileInfos.Count == 0)
                {
                    MessageBox.Show("没有要撤销的文件!");
                    return;
                }

                try
                {
                    foreach (var item in fileInfos)
                    {
                        JoeyLog.Logging.WriteLog("撤销文件:" + item.FullName);
                    }
                    List <string> addPendingChangesFilePaths = tfsHelper.GetAddPendingChanges();

                    if (tfsHelper.Undo(fileInfos) == false)
                    {
                        MessageBox.Show("有文件没有撤销,请打开VS查看详情!");
                        return;
                    }
                    else
                    {
                        foreach (var filePath in addPendingChangesFilePaths)
                        {
                            if (File.Exists(filePath))
                            {
                                File.Delete(filePath);
                                JoeyLog.Logging.WriteLog("删除新增才文件:" + filePath);
                            }
                        }
                        JoeyLog.Logging.WriteLog("撤销成功!");
                        MessageBox.Show("撤销成功!");
                        this.Close();
                    }
                }
                catch (Exception ex)
                {
                    JoeyLog.Logging.WriteErrorLog(ex);
                    MessageBox.Show("可能有冲突,请打开VS解决冲突!");
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 签入
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void checkInbtn_Click(object sender, EventArgs e)
        {
            if (tfsHelper != null)
            {
                List <FileInfo> fileInfos = TriStateTreeNodeHelper.GetTreeNodeChecked(this.updateTriSatateTreeView.Nodes);

                if (fileInfos.Count == 0)
                {
                    MessageBox.Show("没有要签入的文件!");
                    return;
                }

                if (string.IsNullOrEmpty(this.remarktbx.Text))
                {
                    MessageBox.Show("请输入签入说明!");
                    return;
                }

                try
                {
                    foreach (var item in fileInfos)
                    {
                        JoeyLog.Logging.WriteLog("签入文件:" + item.FullName);
                    }
                    if (tfsHelper.CheckIn(fileInfos, this.remarktbx.Text) == false)
                    {
                        MessageBox.Show("有文件没有签入,请打开VS查看详情!");
                        return;
                    }
                    else
                    {
                        JoeyLog.Logging.WriteLog("签入成功!说明:" + this.remarktbx.Text);
                        MessageBox.Show("签入成功!");
                        this.Close();
                    }
                }
                catch (Exception ex)
                {
                    JoeyLog.Logging.WriteErrorLog(ex);
                    MessageBox.Show("可能有冲突,请先撤销签出编辑,再复制编辑签入!");
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 复制到指定目录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void customizebtn_Click(object sender, EventArgs e)
        {
            //是否是空 如果是空就去打开选择地址
            if (string.IsNullOrEmpty(this.customizePathCBX.Text))
            {
                FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
                folderBrowserDialog.SelectedPath = this.customizePathCBX.Text;
                if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
                {
                    //选择的文件夹
                    string openFileName = folderBrowserDialog.SelectedPath;
                    this.customizePathCBX.Text = openFileName;
                    if (!File.Exists(openFileName + "\\Web.config"))
                    {
                        MessageBox.Show("请选择二开根目录!");
                        return;
                    }
                }
                else
                {
                    return;
                }
            }
            this._updateFiles = TriStateTreeNodeHelper.GetTreeNodeChecked(this.updateTriSatateTreeView.Nodes);
            if (this._updateFiles == null)
            {
                MessageBox.Show("请选择读取产品修改信息!");
                return;
            }
            if (this._updateFiles.Count == 0)
            {
                MessageBox.Show("没有要复制编辑签出的文件!");
                return;
            }
            progressValue = 0;
            customizePath = this.customizePathCBX.Text;
            this.worker.RunWorkerAsync();                    // 运行 backgroundWorker 组件
            ProgressBar form = new ProgressBar(this.worker); // 显示进度条窗体

            form.ShowDialog(this);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 打开更新的文件目录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void RootFileBtn_Click(object sender, EventArgs e)
        {
            this._updateFiles = new List <FileInfo>();
            this.updateTriSatateTreeView.Nodes.Clear();
            string rootPath = this.pathTBx.Text;

            //获取修改当前日期
            _dt = DateTime.Parse(DateTime.Parse(this.updateDateTimePicker.Text).ToString("yyyy/MM/dd"));
            if (string.IsNullOrEmpty(this.pathTBx.Text))
            {
                //选择文件夹
                FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
                folderBrowserDialog.SelectedPath = rootProductPath;
                if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
                {
                    //选择的文件夹
                    this.pathTBx.Text = folderBrowserDialog.SelectedPath;
                }
            }
            if (!File.Exists(rootPath + "\\Web.config"))
            {
                MessageBox.Show("请选择产品根目录!");
            }
            else
            {
                //产品TFS
                TFSHelper tfs = new TFSHelper(Directory.GetParent(rootPath).FullName, productSlnFileName);
                _updateFiles.AddRange(GetRootFileName(rootPath));
                _updateFiles.AddRange(GetMetadataFiles(rootPath));
                var pendingFiles = tfs.GetPendingChange();
                //判断产品TFS是否全部签入
                if (pendingFiles.Count > 0)
                {
                    _updateFiles = null;
                    foreach (var item in pendingFiles)
                    {
                        Logging.WriteLog("没有签入的产品文件:", item.FullName);
                    }
                    MessageBox.Show("产品有未签入的数据,不可以迁移二开!");
                    return;
                }
                if (isTip)
                {
                    _updateFiles = null;
                    MessageBox.Show("产品有未签入的元数据,请在建模平台签入后迁移二开!");
                    return;
                }

                _updateFiles.AddRange(GetBinFiles(rootPath));
                _updateFiles.AddRange(GetAppDataFiles(rootPath));
                //获取需要更新的文件夹信息
                foreach (var updateDirectory in _updateDirectorys)
                {
                    openFileName = Path.Combine(rootPath, updateDirectory);
                    _updateFiles.AddRange(GetUpdateFiles(openFileName));
                }


                IEnumerable <IGrouping <string, FileInfo> > dictionarys = _updateFiles.GroupBy(n => n.DirectoryName);
                if (_updateFiles != null && _updateFiles.Count > 0)
                {
                    foreach (var dictionary in dictionarys)
                    {
                        TriStateTreeNode treeNode1 = new TriStateTreeNode();
                        treeNode1.Text            = dictionary.Key.Replace(this.pathTBx.Text + "\\", "");
                        treeNode1.Text            = treeNode1.Text.Replace(this.pathTBx.Text.Replace("00_根目录", ""), "");
                        treeNode1.CheckboxVisible = true;
                        treeNode1.Checked         = true;
                        treeNode1.IsContainer     = true;//文件夹
                        var list = dictionary.OrderBy(n => n.Name);
                        foreach (var metadataFile in list)
                        {
                            TriStateTreeNode treeNode2 = new TriStateTreeNode(metadataFile.Name, 2, 2);
                            treeNode2.Checked = true;
                            treeNode2.Tag     = metadataFile;
                            treeNode1.Nodes.Add(treeNode2);
                        }
                        this.updateTriSatateTreeView.Nodes.Add(treeNode1);
                    }

                    if (this.isTrueCopyRadioBtn.Checked)
                    {
                        this._updateFiles = TriStateTreeNodeHelper.GetTreeNodeChecked(this.updateTriSatateTreeView.Nodes);
                        if (this._updateFiles == null)
                        {
                            MessageBox.Show("请选择产品修改的信息!");
                            return;
                        }
                        if (this._updateFiles.Count == 0)
                        {
                            MessageBox.Show("没有要复制编辑签出的文件!");
                            return;
                        }
                        progressValue = 0;
                        customizePath = this.customizePathCBX.Text;
                        this.worker.RunWorkerAsync();                    // 运行 backgroundWorker 组件
                        ProgressBar form = new ProgressBar(this.worker); // 显示进度条窗体
                        form.ShowDialog(this);
                    }
                }
            }
        }