public async Task <MostPopularItems> GetMostPopularItems(string userId) { MostPopularItems results = null; try { //USER_PERSONALIZATION -- userid required var request = new GetRecommendationsRequest { CampaignArn = AwsParameterStoreClient.GetSimsMostPopularArn(), //sims-most-popular UserId = userId, NumResults = 10 }; var response = await AmazonPersonalizeRuntimeClient.GetRecommendationsAsync(request); var recommendedItems = response.ItemList; var json = JsonConvert.SerializeObject(recommendedItems); Logger.LogInformation("GetMostPopularItems for userid:" + userId + ": " + json); results = new MostPopularItems(); List <string> itemIds = recommendedItems.Select(s => s.ItemId).ToList(); results.Movies = await _storageService.GetMovieData(itemIds.ToArray()); return(results); } catch (Exception ex) { throw; } }
public async Task <PersonalizeViewModel> GetRecommendations(string userId) { PersonalizeViewModel results = null; try { //USER_PERSONALIZATION -- userid required var request = new GetRecommendationsRequest { CampaignArn = AwsParameterStoreClient.GetPersonalRecommendationsArn(), //personal-recommendations-metadata UserId = userId, NumResults = 10 }; var response = await AmazonPersonalizeRuntimeClient.GetRecommendationsAsync(request); var recommendedItems = response.ItemList; var json = JsonConvert.SerializeObject(recommendedItems); Logger.LogInformation("GetRecommendations:" + userId + ": " + json); results = new PersonalizeViewModel { User = new User() { User_Id = userId } }; //get movie thumbnail from imdb IList <RecommendedItems> recItems = new List <RecommendedItems>(); List <string> itemIds = recommendedItems.Select(s => s.ItemId).ToList(); results.RecommendedItems.Movies = await _storageService.GetMovieData(itemIds.ToArray()); return(results); } catch (Exception ex) { throw; } }
public async Task <SimilarItemViewModel> GetSimilarItems(string movieItemId) { SimilarItemViewModel results = null; try { //RELATED_ITEMS -- itemId required var relateditemsrequest = new GetRecommendationsRequest { CampaignArn = AwsParameterStoreClient.GetSimsArn(), //sims-arn ItemId = movieItemId, NumResults = 10 }; var relateditemsrequestresponse = await AmazonPersonalizeRuntimeClient.GetRecommendationsAsync(relateditemsrequest); var relateditemsrequestrecommendedItems = relateditemsrequestresponse.ItemList; var json = JsonConvert.SerializeObject(relateditemsrequestrecommendedItems); Logger.LogInformation("GetSimilarItems for movie:" + movieItemId + ": " + json); results = new SimilarItemViewModel { //selected movie Movie = await _storageService.GetMovieData(movieItemId) }; List <string> itemIds = relateditemsrequestrecommendedItems.Select(s => s.ItemId).ToList(); results.SimilarItems.Movies = await _storageService.GetMovieData(itemIds.ToArray()); return(results); } catch (Exception ex) { throw; } }