示例#1
0
        /// <summary>
        /// Create the work item graph in DGML
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnWorkItems_Click(object sender, RoutedEventArgs e)
        {
            Mouse.OverrideCursor = Cursors.Wait;

            ProcessFullAnalysis data;

            try
            {
                //Check to see if a project is even selected, if not, skip everything else
                if (cboProjects.Text == string.Empty)
                {
                    MessageBox.Show("Select a Team Project before trying to process any relationships.");
                }
                else
                {
                    //There is a project selected, see if they are doing full processing
                    if (ProcessCheckbox(chkFull))
                    {
                        data = new ProcessFullAnalysis(_wis, (VersionControlServer)_tfs.GetService(typeof(VersionControlServer)),
                                                       cboProjects.Text, txtOutput.Text);
                        data.ProcessWorkItemRelationships();
                    }
                    else
                    {
                        //No, we aren't doing a full analysis, make sure something is
                        //selected to do the analysis on
                        WorkItem[] wi = GetSelectedWorkItems();

                        if ((wi == null) || (wi.Length == 0))
                        {
                            MessageBox.Show("Select one or more work items to visualize.");
                        }
                        else
                        {
                            data = new ProcessFullAnalysis(_wis, (VersionControlServer)_tfs.GetService(typeof(VersionControlServer)),
                                                           cboProjects.Text, txtOutput.Text);

                            bool groupByIteration   = ProcessCheckbox(chkByIteration);
                            bool dependencyAnalysis = ProcessCheckbox(chkDependencyAnalysis);
                            bool hideLinks          = ProcessCheckbox(chkHideInterveningLinks);

                            data.ProcessWorkItemRelationships(GetSelectedWorkItems(), groupByIteration, dependencyAnalysis, _selectedLinks, hideLinks);
                        }
                    }
                }
            }
            catch (UnauthorizedAccessException ex)
            {
                MessageBox.Show(ex.Message, "Unauthorized Access Exception");
            }
            finally
            {
                Mouse.OverrideCursor = null;
            }
        }
        /// <summary>
        /// Create the work item graph in DGML
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnWorkItems_Click(object sender, RoutedEventArgs e)
        {
            Mouse.OverrideCursor = Cursors.Wait;

            ProcessFullAnalysis data;

            try
            {
                var si = cboProjects.SelectedItem as ProjectInfo;

                var projName = si.Name;

                //var spQ = from x in _wis.Projects.OfType<Project>()
                //          where
                //          x.Name.Equals(projName)
                //          select x;

                //var sp = spQ.FirstOrDefault();

                //if (sp == null)
                //{
                //    throw new Exception();
                //}

                //Check to see if a project is even selected, if not, skip everything else
                if (projName == string.Empty)
                {
                    MessageBox.Show("Select a Team Project before trying to process any relationships.");
                }
                else
                {
                    //There is a project selected, see if they are doing full processing
                    if (ProcessCheckbox(chkFull))
                    {
                        data = new ProcessFullAnalysis(_wis, (VersionControlServer)_tfs.GetService(typeof(VersionControlServer)),
                                projName, txtOutput.Text);
                        data.ProcessWorkItemRelationships();
                    }
                    else
                    {
                        //No, we aren't doing a full analysis, make sure something is
                        //selected to do the analysis on
                        WorkItem[] wi = GetSelectedWorkItems();

                        if ((wi == null) || (wi.Length == 0))
                        {
                            MessageBox.Show("Select one or more work items to visualize.");
                        }
                        else
                        {
                            data = new ProcessFullAnalysis(_wis, (VersionControlServer)_tfs.GetService(typeof(VersionControlServer)),
                                projName, txtOutput.Text);

                            bool groupByIteration = ProcessCheckbox(chkByIteration);
                            bool dependencyAnalysis = ProcessCheckbox(chkDependencyAnalysis);
                            bool hideLinks = ProcessCheckbox(chkHideInterveningLinks);

                            data.ProcessWorkItemRelationships(GetSelectedWorkItems(), groupByIteration, dependencyAnalysis, _selectedLinks, hideLinks);
                        }
                    }
                }
            }
            catch (UnauthorizedAccessException ex)
            {
                MessageBox.Show(ex.Message, "Unauthorized Access Exception");
            }
            finally
            {
                Mouse.OverrideCursor = null;
            }
        }