private void CheckPolicyStatusForComponent(string componentPolicyStatusURL, BomComponent component)
 {
     try
     {
         HubRequest request = new HubRequest(RestConnection)
         {
             Uri = new Uri(componentPolicyStatusURL)
         };
         BomComponentPolicyStatusView bomPolicyStatus = request.ExecuteGetForResponse <BomComponentPolicyStatusView>();
         component.PolicyStatus = bomPolicyStatus.ApprovalStatus.ToString();
     }
     catch (BlackDuckIntegrationException)
     {
     }
 }
        private BomComponent CreateBomComponentFromBomComponentView(VersionBomComponentView bomEntry)
        {
            BomComponent component = new BomComponent()
            {
                ComponentName       = bomEntry.ComponentName,
                ComponentURL        = GetReportProjectUrl(bomEntry.Component),
                ComponentVersion    = bomEntry.ComponentVersionName,
                ComponentVersionURL = GetReportVersionUrl(bomEntry.ComponentVersion, true)
            };

            string displayLicense = "";

            foreach (VersionBomLicenseView license in bomEntry.Licenses)
            {
                displayLicense = license.LicenseDisplay + " ";
            }
            component.License = displayLicense;

            if (bomEntry.SecurityRiskProfile != null && bomEntry.SecurityRiskProfile.Counts != null &&
                bomEntry.SecurityRiskProfile.Counts.Count != 0)
            {
                foreach (RiskCountView count in bomEntry.SecurityRiskProfile.Counts)
                {
                    if (count.CountType.Equals(RiskCountEnum.HIGH) && count.Count > 0)
                    {
                        component.SecurityRiskHighCount = count.Count;
                    }
                    else if (count.CountType.Equals(RiskCountEnum.MEDIUM) && count.Count > 0)
                    {
                        component.SecurityRiskMediumCount = count.Count;
                    }
                    else if (count.CountType.Equals(RiskCountEnum.LOW) && count.Count > 0)
                    {
                        component.SecurityRiskLowCount = count.Count;
                    }
                }
            }
            if (bomEntry.LicenseRiskProfile != null && bomEntry.LicenseRiskProfile.Counts != null &&
                bomEntry.LicenseRiskProfile.Counts.Count != 0)
            {
                foreach (RiskCountView count in bomEntry.LicenseRiskProfile.Counts)
                {
                    if (count.CountType.Equals(RiskCountEnum.HIGH) && count.Count > 0)
                    {
                        component.LicenseRiskHighCount = count.Count;
                    }
                    else if (count.CountType.Equals(RiskCountEnum.MEDIUM) && count.Count > 0)
                    {
                        component.LicenseRiskMediumCount = count.Count;
                    }
                    else if (count.CountType.Equals(RiskCountEnum.LOW) && count.Count > 0)
                    {
                        component.LicenseRiskLowCount = count.Count;
                    }
                }
            }
            if (bomEntry.OperationalRiskProfile != null && bomEntry.OperationalRiskProfile.Counts != null &&
                bomEntry.OperationalRiskProfile.Counts.Count != 0)
            {
                foreach (RiskCountView count in bomEntry.OperationalRiskProfile.Counts)
                {
                    if (count.CountType.Equals(RiskCountEnum.HIGH) && count.Count > 0)
                    {
                        component.OperationalRiskHighCount = count.Count;
                    }
                    else if (count.CountType.Equals(RiskCountEnum.MEDIUM) && count.Count > 0)
                    {
                        component.OperationalRiskMediumCount = count.Count;
                    }
                    else if (count.CountType.Equals(RiskCountEnum.LOW) && count.Count > 0)
                    {
                        component.OperationalRiskLowCount = count.Count;
                    }
                }
            }
            return(component);
        }