private static ApiRecommendation FetchApiRecommendation()

in src/PortingAssistant.Client.Analysis/Utils/ApiCompatiblity.cs [172:200]


        private static ApiRecommendation FetchApiRecommendation(
            string apiMethodSignature,
            Task<RecommendationDetails> 
            recommendationDetails,
            string target = "netcoreapp3.1")
        {
            if (apiMethodSignature != null && recommendationDetails != null)
            {
                recommendationDetails.Wait();
                if (recommendationDetails.IsCompletedSuccessfully)
                {
                    var recommendationActions = recommendationDetails.Result.Recommendations;
                    var apiRecommendation = recommendationActions
                        .Where(recommendation => recommendation != null && recommendation.Value == apiMethodSignature)
                        .SelectMany(recommendation => recommendation.RecommendedActions)
                        .Where(recomendation => recomendation.TargetFrameworks.Contains(target.ToLower()))
                        .Select(recommend => recommend.Description);
                    if (apiRecommendation != null && apiRecommendation.Count() != 0)
                    {
                        return new ApiRecommendation
                        {
                            RecommendedActionType = RecommendedActionType.ReplaceApi,
                            Description = string.Join(",", apiRecommendation.Where(recommend => !string.IsNullOrEmpty(recommend)))
                        };
                    }
                }
            }
            return DEFAULT_RECOMMENDATION;
        }