コード例 #1
0
        public ActionResult ReadArticle(int articleID)
        {
            PagingParam pp       = new PagingParam();
            var         selector = new ArticleDomSelector(pp, SessionHelper.CurrentEntity.EntityID);
            var         article  = articleRepository.Where(a => articleID == a.ID).Apply(selector).First();

            pp.Records = article.CommentCount;

            var newspaper = newspaperRepository.GetById(article.NewspaperID);
            var vm        = new ArticleViewModel(article, newspaper, newspaperService, pp);

            return(View(vm));
        }
コード例 #2
0
        public ActionResult Index()
        {
            var articleSelector = new ArticleDomSelector(pagingParam: null, IncludeComments: false);

            var currentCountry = SessionHelper.CurrentEntity.GetCurrentCountry();
            var battles        = warRepository.GetActiveBattles(currentCountry.ID).Take(3).ToList();

            var trainingBattle = warRepository.GetTrainingBattle();

            if (trainingBattle != null)
            {
                battles.Add(trainingBattle);
            }

            var newestArticles = articleRepository
                                 .Where(a => a.Newspaper.IsAdmin == false)
                                 .Apply(articleSelector)
                                 .OrderByDescending(a => a.ArticleID)
                                 .Where(a => a.Published)
                                 .Take(5)
                                 .ToList();

            var events = countryEventRepository.GetCountryEvents(currentCountry.ID, Persistent.Countries.GetAll(), 5);

            var popularArticles = articleRepository
                                  .OrderByDescending(a => a.VoteScore / (double)(1 + SqlFunctions.Square((1.3 * (GameHelper.CurrentDay - a.CreationDay + 1)))))
                                  .Where(a => a.Published)
                                  .Take(5)
                                  .Apply(articleSelector)
                                  .ToList();

            var adminArticles = articleRepository
                                .OrderByDescending(a => a.CreationDate)
                                .Where(a => a.Newspaper.IsAdmin && a.Published)
                                .Take(5)
                                .Apply(articleSelector)
                                .ToList();


            var vm = new HomeIndexViewModel(currentCountry,
                                            battles,
                                            events,
                                            congressCandidateService,
                                            newestArticles,
                                            popularArticles,
                                            adminArticles);

            return(View(vm));
        }