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)); }
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)); }