public ActionResult ArticlesForReview(ArticlesReviewersViewModel articlesReviewersViewModel)
        {
            ApplicationDbContext dbContext = new ApplicationDbContext();
            List <Article>       articles  = new List <Article>();
            var userId = User.Identity.GetUserId();

            articles = dbContext.Articles.Where(x => x.Reviews.Any(y => y.Reviewer.UserName == User.Identity.Name)).OrderBy(a => a.Reviews.Count).Take(10).ToList();
            if (!String.IsNullOrEmpty(articlesReviewersViewModel.SearchPhrase))
            {
                articles = articles.Where(a => a.Title.ToLower().Contains(articlesReviewersViewModel.SearchPhrase.ToLower()) || a.Status.ToString().ToLower().Contains(articlesReviewersViewModel.SearchPhrase.ToLower()) || a.ArticleName.ToLower().Contains(articlesReviewersViewModel.SearchPhrase.ToLower())).ToList();
            }
            switch (articlesReviewersViewModel.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;
            }
            ArticlesForReviewPartialModel articlesForReviewPartialModel = new ArticlesForReviewPartialModel
            {
                MaxPages = (int)Math.Ceiling((double)articles.Count / (double)articlesReviewersViewModel.ResultsForPage),
                Articles = articles.Skip((articlesReviewersViewModel.CurrentPage - 1) * articlesReviewersViewModel.ResultsForPage).Take(articlesReviewersViewModel.ResultsForPage).ToList(),
            };

            return(PartialView("_ArticlesForReview", articlesForReviewPartialModel));
        }
        public ActionResult ArticlesForReview()
        {
            ArticlesReviewersViewModel articlesReviewersViewModel = new ArticlesReviewersViewModel();

            articlesReviewersViewModel.Articles       = dbContext.Articles.Where(x => x.Reviews.Any(y => y.Reviewer.UserName == User.Identity.Name)).OrderBy(a => a.Reviews.Count).Take(10).ToList();
            articlesReviewersViewModel.CurrentPage    = 1;
            articlesReviewersViewModel.ResultsForPage = 10;
            articlesReviewersViewModel.SortBy         = Enums.ArticleSortBy.NumberOfAssignedReviewersAsc;
            articlesReviewersViewModel.NumberOfPages  = (int)Math.Ceiling((double)dbContext.Articles.Count() / articlesReviewersViewModel.ResultsForPage);
            return(View(articlesReviewersViewModel));
        }
示例#3
0
        public ActionResult ArticlesReviewers()
        {
            ArticlesReviewersViewModel arvm      = new ArticlesReviewersViewModel();
            ApplicationDbContext       dbContext = new ApplicationDbContext();

            arvm.Articles       = dbContext.Articles.Where(a => a.Status != ArticleStatus.PositivelyReviewed && a.Status != ArticleStatus.NegativelyReviewed && a.Status != ArticleStatus.MinorChangesWithoutNewReview).OrderBy(a => a.Reviews.Count).Take(10).ToList();
            arvm.CurrentPage    = 1;
            arvm.ResultsForPage = 10;
            arvm.SortBy         = Enums.ArticleSortBy.NumberOfAssignedReviewersAsc;
            arvm.NumberOfPages  = (int)Math.Ceiling((double)dbContext.Articles.Count() / arvm.ResultsForPage);
            return(View(arvm));
        }
示例#4
0
        public ActionResult ArticlesReviewers(ArticlesReviewersViewModel arvm)
        {
            ArticlesReviewersPartialModel nArpm     = new ArticlesReviewersPartialModel();
            ApplicationDbContext          dbContext = new ApplicationDbContext();
            List <Article> articles = new List <Article>();

            articles = dbContext.Articles.Where(a => a.Status != ArticleStatus.PositivelyReviewed && a.Status != ArticleStatus.NegativelyReviewed && a.Status != ArticleStatus.MinorChangesWithoutNewReview).ToList();
            if (!String.IsNullOrEmpty(arvm.SearchPhrase))
            {
                articles = articles.Where(a => a.Title.ToLower().Contains(arvm.SearchPhrase.ToLower()) || a.MainAuthor.Name.ToLower().Contains(arvm.SearchPhrase.ToLower()) || a.MainAuthor.Surname.ToLower().Contains(arvm.SearchPhrase.ToLower())).ToList();
            }
            switch (arvm.SortBy)
            {
            case ArticleSortBy.AddDate:
                articles = articles.OrderBy(a => a.Date).ToList();
                break;

            case ArticleSortBy.Author:
                articles = articles.OrderBy(a => a.MainAuthor.Surname).ToList();
                break;

            case ArticleSortBy.NumberOfAssignedReviewersAsc:
                articles = articles.OrderBy(a => a.Reviews.Count).ToList();
                break;

            case ArticleSortBy.NumberOfAssignedReviewersDsc:
                articles = articles.OrderByDescending(a => a.Reviews.Count).ToList();
                break;

            case ArticleSortBy.Title:
                articles = articles.OrderBy(a => a.Title).ToList();
                break;
            }
            nArpm.MaxPages = (int)Math.Ceiling((double)articles.Count / (double)arvm.ResultsForPage);
            nArpm.Articles = articles.Skip((arvm.CurrentPage - 1) * arvm.ResultsForPage).Take(arvm.ResultsForPage).ToList();
            return(PartialView("_ArticlesReviewers", nArpm));
        }