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;
}