Example #1
0
        public async Task <ActionResult> MovieRecommendation(string year, string category, int?movieId)
        {
            Movie movieVotedFor = await MovieAPI.GetById(movieId.Value);

            List <Movie> movies = await MovieAPI.GetAll();

            movies = movies.Where(m => m.Title != movieVotedFor.Title && m.Actors != null).Distinct().ToList();
            Dictionary <Movie, int> movieRecommendations = BuildMovieDictionary(movies);
            RecommendationViewModel recommendation       = new RecommendationViewModel()
            {
                Year     = year,
                Category = category
            };

            foreach (Movie potentialRecommendation in movies)
            {
                movieRecommendations[potentialRecommendation] = GetMovieRecommendationScore(potentialRecommendation, movieVotedFor);
            }
            List <Movie> moviesWithHighestScore = FindMovieDictionaryItemsWithGreatestScore(movieRecommendations);

            recommendation.Movie = PickRandomMovieFromList(moviesWithHighestScore);
            return(View(recommendation));
        }
Example #2
0
        public async Task <ActionResult> ListMovies()
        {
            List <Movie> movies = await MovieAPI.GetAll();

            return(View(movies));
        }