예제 #1
0
        public async Task <IActionResult> Put([FromBody] Resources.UserPoints points)
        {
            List <Resources.Recommendation> recommendations = new List <Resources.Recommendation>();

            (await genreRepository.GetAll()).Where(g => g.IdGenre == points.Genre.Id)
            .Join(movieDataRepository.GetAll().Result, g => g.IdMovieData, md => md.IdMovieData, (g, md) => md)
            .ToList().ForEach(movie =>
            {
                Resources.Movie data          = _mapper.Map <Resources.Movie>(movie);
                int score                     = ScoreHelper.GetRecommendationScore(points, data, movieDataRepository, reviewRepository);
                Resources.Recommendation temp = new Resources.Recommendation {
                    Movie = data, Score = score
                };
                recommendations.Add(temp);
            });
            return(Ok(recommendations.OrderByDescending(val => val.Score).Take(10)));
        }