Exemple #1
0
        public ActionResult Resources()
        {
            // Gather all the pieces.

            var poll = _pollsQuery.GetActivePoll();

            var featuredArticles = _resourcesQuery.GetFeaturedArticles();
            var articles         = _resourcesQuery.GetArticles(from a in featuredArticles select a.ResourceId);

            var featuredVideo = _resourcesQuery.GetFeaturedVideos().Single();
            var video         = _resourcesQuery.GetVideo(featuredVideo.ResourceId);

            var featuredQnA = _resourcesQuery.GetFeaturedQnAs().Single();
            var qna         = _resourcesQuery.GetQnA(featuredQnA.ResourceId);

            return(View(new ResourcesModel
            {
                Categories = _resourcesQuery.GetCategories(),
                FeaturedArticles = featuredArticles.Select(r => new FeaturedArticleModel {
                    FeaturedResource = r, Article = articles.Single(a => a.Id == r.ResourceId)
                }).ToList(),
                FeaturedVideo = video,
                FeaturedQnA = qna,
                FeaturedQnAViews = qna != null ? _resourcesQuery.GetViewingCount(qna.Id) : 0,
                FeaturedQnAComments = qna != null ? _disqusQuery.GetCommentCount(qna.Id) ?? 0 : 0,
                ActivePoll = GetPollModel(poll),
            }));
        }