public static async void CallHome(RestClient client, string hubServerUrl, string hubVersion) { try { //Updat timeout for phone home client.Timeout = 5000; var getRegistrationResponse = Registration.GetRegistration(client); var regId = getRegistrationResponse.Data.registrationId; if (regId == null) { regId = MD5Hash(hubServerUrl); } switch (hubVersion) { case "14.0": hubVersion = "2015"; break; case "15.0": hubVersion = "2017"; break; default: hubVersion = "Unknown"; break; } Classes.PhoneHome.RootObject phoneHome = new Classes.PhoneHome.RootObject(); phoneHome.regId = regId; phoneHome.source = "Integrations"; Classes.PhoneHome.InfoMap infoMap = new Classes.PhoneHome.InfoMap(); infoMap.blackDuckName = "Hub"; infoMap.blackDuckVersion = HubVersion.GetHubVersionNumberString(client); infoMap.thirdPartyName = "Visual-Studio"; infoMap.thirdPartyVersion = hubVersion; infoMap.pluginVersion = Assembly.GetExecutingAssembly().GetName().Version.Major.ToString() + "." + Assembly.GetExecutingAssembly().GetName().Version.Minor.ToString() + "." + Assembly.GetExecutingAssembly().GetName().Version.Build.ToString(); phoneHome.infoMap = infoMap; PhoneHome.SendPhoneHome(phoneHome); } catch (Exception ex) { //Do nothing } }
private async Task <bool> GetPackagesAndRiskInformation(IEnumerable <Project> projects) { var status = false; await Task.Run(() => { var hubSettings = new HubSettings() { ServerUrl = _package.HubServerUrl, Username = _package.HubUsername, Password = _package.HubPassword, Timeout = _package.HubTimeout, ProxyHost = _package.ProxyHost, ProxyPort = _package.ProxyPort, ProxyUsername = _package.ProxyUsername, ProxyPassword = _package.ProxyPassword }; if (!_installerServices.GetInstalledPackages().Any()) { return; } if (!hubSettings.HasSettings()) { _riskAnalysisStatus = Properties.Resources.MesageNoHubSettings; status = false; } else { var client = Authenticate.EstablishHubSession(hubSettings); if (client == null) { _riskAnalysisStatus = Properties.Resources.MessageConnectionUnsuccessful; status = false; } else { String version = HubVersion.GetHubVersionNumberString(client); bool hubLessThanFour = int.Parse(version.Split('.')[0]) < 4; _packagesList.Clear(); _validProjectsList.Clear(); _validProjectsList.Add(Properties.Resources.ItemAll); foreach (var project in projects) { List <IVsPackageMetadata> packages = null; try { packages = _installerServices.GetInstalledPackages(project).ToList(); _validProjectsList.Add(project.Name); } catch { continue; } var projectPath = project.Properties; foreach (var package in packages) { var index = _packagesList.FindIndex( item => (item.Package == package.Id) && (item.Version == package.VersionString)); if (index < 0) { _packagesList.Add(new NuGetPackageViewModel.NuGetPackage { Forge = Properties.Resources.Forge, Package = package.Id, Version = package.VersionString, VsProject = project.Name }); } else { _packagesList[index].VsProject = _packagesList[index].VsProject + "|" + project.Name; } } } foreach (var item in _packagesList) { try { ProcessItem(item, client, hubLessThanFour); } catch (Exception e) { _riskAnalysisStatus = e.Message; status = false; } } if (_packagesList.Count > 0) { _packagesList = _packagesList.OrderBy(x => x.PackageStatus).ThenBy(y => y.Package).ToList(); } _validProjectsList.Sort(); status = true; Task.Run(() => CollectData.CallHome(client, hubSettings.ServerUrl, _dte.Version)); } } }); return(status); }