Пример #1
0
        public IQueryable <Quiz> GetBy(QuizFilter filter, IQueryable <Quiz> quizzes = null, bool?descending = null, int?count = null)
        {
            var list            = quizzes ?? GetPublicQuizzes();
            var descendingValue = descending.HasValue ? descending.Value : true;
            IQueryable <Quiz> topList;

            switch (filter)
            {
            case QuizFilter.Rating:
                topList = GetByRating(descendingValue, list);
                break;

            case QuizFilter.Newest:
                topList = GetByCreationDate(descendingValue, list);
                break;

            case QuizFilter.Level:
                topList = GetByLevel(descendingValue, list);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            if (count.HasValue)
            {
                return(topList.Take(count.Value));
            }

            return(topList);
        }
Пример #2
0
 public QuizListRequestBuilder(QuizFilter filter, FilterPager pager)
     : this()
 {
     this.Filter = filter;
     this.Pager  = pager;
 }
Пример #3
0
 public static QuizListRequestBuilder List(QuizFilter filter = null, FilterPager pager = null)
 {
     return(new QuizListRequestBuilder(filter, pager));
 }
        public virtual ActionResult List(bool showProject = false, QuizFilter quizFilter = null)
        {
            quizFilter = quizFilter ?? new QuizFilter();

            var model = new QuizzesListViewModel()
            {
                ShowProject = showProject,
                Quizzes = QuizService.GetAll(Query.ForQuiz(quizFilter).Include(x => x.Project()))
            };

            return View(model);
        }