private void SavePreferredView()
        {
            string slnPath = ServicesContainer.VisualStudioSolutionInfo.SolutionPath;

            if (string.IsNullOrWhiteSpace(slnPath) || SelectedView == null)
            {
                return;
            }

            bool isSaved = ApiHandlerSettingsManager.ContainsSolutionPreference(slnPath);

            if (!isSaved)
            {
                return;
            }

            var pref = ApiHandlerSettingsManager.GetJobLink(slnPath);

            if (!string.Equals(SelectedJenkinsServer.Url, pref.JenkinsServerUrl, StringComparison.InvariantCultureIgnoreCase))
            {
                return;
            }

            ApiHandlerSettingsManager.UpdatePreferredView(slnPath, SelectedView.Name);
        }
        private bool TrySelectPreferredView(SolutionChangedEventArgs e)
        {
            if (!ApiHandlerSettingsManager.ContainsSolutionPreference(e.SolutionPath))
            {
                return(false);
            }

            var jobLink       = ApiHandlerSettingsManager.GetJobLink(e.SolutionPath);
            var jobLinkServer = JenkinsServers.FirstOrDefault((s) => string.Equals(s.Url, jobLink.JenkinsServerUrl, StringComparison.InvariantCultureIgnoreCase));

            if (jobLinkServer == null)
            {
                // server has been removed
                return(false);
            }

            bool preferredViewSelected = false;

            if (SelectedJenkinsServer == jobLinkServer)
            {
                // Correct server already selected, just fix the view
                var preferredView = _jenkinsViews.FirstOrDefault((j) => string.Equals(j.Name, jobLink.JenkinsViewName));
                if (preferredView != null)
                {
                    SelectedView          = preferredView;
                    preferredViewSelected = true;
                }
            }
            else
            {
                SelectNewJenkinsServer(jobLinkServer, jobLink.JenkinsViewName);
                preferredViewSelected = true;
            }

            return(preferredViewSelected);
        }
Example #3
0
 public bool IsSolutionLinked(string solutionPath)
 {
     return(ApiHandlerSettingsManager.ContainsSolutionPreference(solutionPath));
 }