Example #1
0
        public async Task <PaginationOutput <QuestionDto> > GetQuestionsAsync(QueryQuestionInput input)
        {
            CancellationToken.ThrowIfCancellationRequested();
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            var query = from x in _context.EvaluationQuestions
                        where x.SubjectId == input.SubjectId
                        select new QuestionDto()
            {
                Id          = x.Id,
                Order       = x.Order,
                Description = x.Description
            };

            var totalCount = await query.CountAsync(CancellationToken);

            var totalSize = (int)Math.Ceiling(totalCount / (decimal)input.PageSize);
            var questions = await query.OrderBy(o => o.Order)
                            .Skip((input.PageIndex - 1) * input.PageSize)
                            .Take(input.PageSize)
                            .ToListAsync(CancellationToken);

            return(new PaginationOutput <QuestionDto>(totalSize, questions));
        }
Example #2
0
        public async Task <PaginationOutput <QuestionDto> > GetQuestionsAsync(QueryQuestionInput input)
        {
            var query = from x in _context.EvaluationQuestions
                        where x.SubjectId == input.SubjectId
                        select new QuestionDto()
            {
                Id          = x.Id,
                Order       = x.Order,
                Description = x.Description
            };

            var totalCount = await query.CountAsync();

            var totalSize = (int)Math.Ceiling(totalCount / (decimal)input.PageSize);
            var questions = await query.OrderBy(o => o.Order)
                            .Skip((input.PageIndex - 1) * input.PageSize)
                            .Take(input.PageSize)
                            .ToListAsync();

            return(new PaginationOutput <QuestionDto>(totalSize, questions));
        }
Example #3
0
        public async Task <IActionResult> Questions(QueryQuestionInput input)
        {
            var output = await _evaluationQuerier.GetQuestionsAsync(input);

            return(View(new PaginationModel <QuestionDto>(output, input)));
        }