예제 #1
0
        public static bool CheckSettings()
        {
            var settings = MySettingsManager.GetSettings <TfsSettings>();

            if (string.IsNullOrEmpty(settings.ProjectName) || string.IsNullOrEmpty(settings.WorkItemType))
            {
                return(false);
            }

            var uri = new Uri(settings.ProjectCollectionUri);

            try
            {
                var project      = TfsHelper.GetProject(settings.ProjectCollectionUri, settings.ProjectName);
                var workItemType = project.WorkItemTypes[settings.WorkItemType];
                if (workItemType == null)
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Failed to connect to TFS", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }

            var registered = RegisteredTfsConnections.GetProjectCollection(uri);

            if (registered == null)
            {
                RegisteredTfsConnections.RegisterProjectCollection(new TfsTeamProjectCollection(uri));
            }
            return(true);
        }
 private void AddTeamProjectCollection(object argument)
 {
     using (var dialog = new TeamProjectPicker(TeamProjectPickerMode.NoProject, false))
     {
         var result = dialog.ShowDialog(Application.Current.MainWindow.GetIWin32Window());
         if (result == System.Windows.Forms.DialogResult.OK)
         {
             var projectCollection = dialog.SelectedTeamProjectCollection;
             RegisteredTfsConnections.RegisterProjectCollection(projectCollection);
             RefreshTeamProjectCollections(projectCollection.Name);
         }
     }
 }