示例#1
0
        /// <summary>
        /// Returns list of movies and youtube result according to the selected relevance
        /// </summary>
        /// <param name="relevance">ie. Latest, Popular, Top Rated</param>
        /// <param name="page">The Result Page</param>
        /// <returns></returns>
        public AggregatedModel GetByRelevance(MovieRelevance relevance, string page = "1")
        {
            AggregatedModel aggregatedModel;

            switch (relevance)
            {
            case MovieRelevance.Trending:
                aggregatedModel = _tmdbConnection.GetTrendingMovies(page);
                aggregatedModel.YoutubeResults = _youtubeConnection.RetrieveData("trending");
                aggregatedModel.RelevanceType  = MovieRelevance.Trending;
                return(aggregatedModel);

            case MovieRelevance.Popular:
                aggregatedModel = _tmdbConnection.GetPopularMovies(page);
                aggregatedModel.YoutubeResults = _youtubeConnection.RetrieveData("most popular");
                aggregatedModel.RelevanceType  = MovieRelevance.Popular;
                return(aggregatedModel);

            case MovieRelevance.TopRated:
                aggregatedModel = _tmdbConnection.GetTopRatedMovies(page);
                aggregatedModel.YoutubeResults = _youtubeConnection.RetrieveData("top rated");
                aggregatedModel.RelevanceType  = MovieRelevance.TopRated;
                return(aggregatedModel);

            case MovieRelevance.Upcomming:
                aggregatedModel = _tmdbConnection.GetUpcommingMovies(page);
                aggregatedModel.YoutubeResults = _youtubeConnection.RetrieveData("upcomming");
                aggregatedModel.RelevanceType  = MovieRelevance.Upcomming;
                return(aggregatedModel);

            default:
                throw new Exception("Incorret Relevance Type");
            }
        }
示例#2
0
        public async Task <ActionResult> Relevance(MovieRelevance relevance, string page = "1")
        {
            var relevanceName = CustomEnumHelper.DisplayNameFor(relevance);

            ViewBag.Title = $"{relevanceName} Movies";
            return(await CallApiAndPopulateView <AggregatedModel>($"relevance={relevance}&page={page}", "Content"));
        }