Пример #1
0
        public List <Usage> FindUsagesOf(List <NugetReference> assets, List <PackagesResponse> knownVulnerables)
        {
            var usages = new List <Usage>();

            foreach (var asset in assets)
            {
                foreach (var vulnPackage in knownVulnerables)
                {
                    var directPackage = vulnPackage.Packages.FirstOrDefault(k => k.Id == asset.Id && k.Affected == asset.Version);

                    if (directPackage != null)
                    {
                        var usage = new Usage
                        {
                            Package     = directPackage,
                            IssueUrl    = vulnPackage.Link,
                            Description = vulnPackage.Description
                        };
                        usage.Add(asset);
                        var differentUsages = FindPathsTo(usage, assets);
                        usages.AddRange(differentUsages);
                    }
                }
            }

            return(usages);
        }
 public void Archive(IDictionary <DateTime, List <HighPrecisionUsageModel> > usageToArchive)
 {
     foreach (var elem in usageToArchive)
     {
         Usage.Add(elem.Key, elem.Value);
     }
 }