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)); }
public async Task <ActionResult> ListMovies() { List <Movie> movies = await MovieAPI.GetAll(); return(View(movies)); }