public ActionResult DisplayArticles(DisplayArticlesViewModel davm) { DisplayArticlesPartialModel dapm = new DisplayArticlesPartialModel(); ApplicationDbContext dbContext = new ApplicationDbContext(); List <Article> articles = new List <Article>(); var userId = User.Identity.GetUserId(); articles = dbContext.Articles.Where(m => m.MainAuthor.Id.Equals(userId)).ToList(); if (!String.IsNullOrEmpty(davm.SearchPhrase)) { articles = articles.Where(a => a.Title.ToLower().Contains(davm.SearchPhrase.ToLower()) || a.Status.ToString().ToLower().Contains(davm.SearchPhrase.ToLower()) || a.ArticleName.ToLower().Contains(davm.SearchPhrase.ToLower())).ToList(); } switch (davm.SortBy) { case ArticleSortBy.Title: articles = articles.OrderBy(r => r.Title).ToList(); break; case ArticleSortBy.Status: articles = articles.OrderBy(r => r.Status).ToList(); break; case ArticleSortBy.ArticleName: articles = articles.OrderBy(r => r.ArticleName).ToList(); break; } dapm.MaxPages = (int)Math.Ceiling((double)articles.Count / (double)davm.ResultsForPage); dapm.Articles = articles.Skip((davm.CurrentPage - 1) * davm.ResultsForPage).Take(davm.ResultsForPage).ToList(); return(PartialView("_DisplayArticles", dapm)); }
public ActionResult DisplayArticles() { ApplicationDbContext db = new ApplicationDbContext(); DisplayArticlesViewModel davm = new DisplayArticlesViewModel(); var userId = User.Identity.GetUserId(); davm.Articles = db.Articles.Where(m => m.MainAuthor.Id.Equals(userId)).OrderBy(a => a.Title).Take(10).ToList(); davm.CurrentPage = 1; davm.ResultsForPage = 10; davm.SortBy = Enums.ArticleSortBy.Title; davm.NumberOfPages = (int)Math.Ceiling((double)db.Articles.Where(m => m.MainAuthor.Id.Equals(userId)).Count() / davm.ResultsForPage); return(View(davm)); }