예제 #1
0
        protected override HashSet <int> GetExtraAnimesToReturn(MalAnimeRecsResults recResults)
        {
            HashSet <int> recommendedIds = new HashSet <int>();

            foreach (RecEngine.MAL.MalAnimeRecsRecommenderUser recommender in recResults.Recommenders)
            {
                foreach (RecEngine.MAL.MalAnimeRecsRecommenderRecommendation recommendedAnime in recommender.AllRecommendations)
                {
                    recommendedIds.Add(recommendedAnime.MalAnimeId);
                }
            }

            return(recommendedIds);
        }
예제 #2
0
 protected override void SetSpecializedExtraResponseProperties(
     GetMalRecsResponse <DTO.AnimeRecsRecommendation, MalAnimeRecsExtraResponseData> response, MalAnimeRecsResults recResults)
 {
     response.Data = new MalAnimeRecsExtraResponseData(
         targetScoreUsed: recResults.TargetScoreUsed,
         recommenders: recResults.Recommenders.Select(recommender => new DTO.MalAnimeRecsRecommender(
                                                          userId: recommender.UserId,
                                                          username: UsernamesByUserId[recommender.UserId],
                                                          recs: recommender.AllRecommendations.Select(recommendedAnime => new DTO.MalAnimeRecsRecommenderRecommendation(
                                                                                                          malAnimeId: recommendedAnime.MalAnimeId,
                                                                                                          judgment: recommender.RecsLiked.Contains(recommendedAnime) ? DTO.AnimeRecsRecommendationJudgment.Liked
                         : recommender.RecsNotLiked.Contains(recommendedAnime) ? DTO.AnimeRecsRecommendationJudgment.NotLiked
                         : recommender.RecsInconclusive.Contains(recommendedAnime) ? DTO.AnimeRecsRecommendationJudgment.Inconclusive
                         : AnimeRecsRecommendationJudgment.NotInCommon,
                                                                                                          recommenderScore: recommendedAnime.RecommenderScore,
                                                                                                          averageScore: recommendedAnime.AverageScore
                                                                                                          )).ToList(),
                                                          compatibility: recommender.Compatibility,
                                                          compatibilityLowEndpoint: recommender.CompatibilityLowEndpoint,
                                                          compatibilityHighEndpoint: recommender.CompatibilityHighEndpoint
                                                          )).ToList()
         );
 }