Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- using ASP_Herkansing.Domain.Abstract;
- using ASP_Herkansing.Domain.Entities;
- using ASP_Herkansing.HtmlHelpers;
- using ASP_Herkansing.Models;
- namespace ASP_Herkansing.Controllers
- {
- public class QuizController : Controller
- {
- private IQuestionsRepository questionsRepository;
- //public attributes for testing
- public int PageSize = 3;
- public int MaxQuestions = 5;
- public QuizController(IQuestionsRepository questionsRepository)
- {
- this.questionsRepository = questionsRepository;
- }
- public ViewResult QuizStart(Quiz quiz, string returnUrl, int page = 1)
- {
- //Assert how many questions are available for picking
- int ListLength = questionsRepository.Questions.Count();
- //Make a list (custom size) to empty the repo in
- List<Question> quizQuestions = new List<Question>(ListLength);
- quizQuestions.AddRange(questionsRepository.Questions);
- //Shuffle the questions
- quizQuestions.Shuffle();
- //Feed view shuffled questions in Pagination
- QuestionsListViewModel model = new QuestionsListViewModel()
- {
- Questions = quizQuestions
- .Skip((page - 1) * PageSize)
- .Take(PageSize)
- ,
- PagingInfo = new PagingInfo
- {
- CurrentPage = page,
- ItemsPerPage = PageSize,
- TotalItems = questionsRepository.Questions.Count()
- }
- };
- return View(model);
- }
- public ViewResult Results(Quiz quiz)
- {
- return View(quiz);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement