private List GenerateRecommendedActions()

in src/PortingAssistantExtensionServer/Services/PortingService.cs [106:131]


        private List<RecommendedAction> GenerateRecommendedActions(ProjectFilePortingRequest request)
        {
            try
            {
                var upgradePackagesResults = PackageToAnalysisResults
        .Where(p =>
            p.CompatibilityResults.TryGetValue(request.TargetFramework, out var compatibilityResult)
            && compatibilityResult.Compatibility == Compatibility.INCOMPATIBLE
            && compatibilityResult.CompatibleVersions.Any()
            && compatibilityResult.CompatibleVersions.Exists(v => !v.Contains("-")));

                var packageToRecommendations = upgradePackagesResults.Select(package => new PackageRecommendation()
                {
                    PackageId = package.PackageVersionPair.PackageId,
                    Version = package.PackageVersionPair.Version,
                    TargetVersions = new List<string> { package.CompatibilityResults[request.TargetFramework].CompatibleVersions.First(v => !v.Contains("-")) },
                    RecommendedActionType = RecommendedActionType.UpgradePackage,
                });
                return packageToRecommendations.Select(r => (RecommendedAction)r).ToList();
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "failed to generate recommended actions ");
                return null;
            }
        }