public async Task <ActionResult> Play(string id) { var quizSubmissionId = Guid.NewGuid().ToString(); var quiz = await QuizService.GetQuiz(id); var model = new Play { Id = quizSubmissionId, QuizzardUserId = User.Identity.GetUserId(), }; var partialList = new List <ViewWrapper>(); foreach (var question in quiz.Questions) { using (var container = AutofacSetup.Container.BeginLifetimeScope()) { var controller = container.ResolveKeyed <QuestionBaseController>(question.QuestionTypeId); var emptySubmissionAnswer = new QuizSubmissionAnswerModel(quizSubmissionId, question); model.Answers.Add(emptySubmissionAnswer); controller.ContextualizeController(nameof(controller.QuestionPlayView)); var result = await controller.QuestionPlayView(emptySubmissionAnswer); var viewLocations = result.ViewEngineCollection.FindPartialView(controller.ControllerContext, result.ViewName); result.View = viewLocations.View; model.QuestionPartials.Add(new ViewWrapper((RazorView)viewLocations.View, result.Model)); } } model.Quiz = quiz; model.QuizId = quiz.Id; return(View(model)); }
public override PartialViewResult QuestionPlayView(QuizSubmissionAnswerModel questionModel) { throw new NotImplementedException(); }
public abstract PartialViewResult QuestionPlayView(QuizSubmissionAnswerModel questionModel);
public override async Task <PartialViewResult> QuestionPlayView(QuizSubmissionAnswerModel model) { return(PartialView("QuestionPlayView", model)); }