Exemplo n.º 1
0
        public async Task <ActionResult> Simulacao(int?page, long idCourse)
        {
            List <Area> areas   = dbContext.Area.Where(a => a.idCourse == idCourse).ToList();
            var         idsArea = new long[areas.Count()];
            int         i       = 0;

            foreach (var area in areas)
            {
                idsArea.SetValue(area.idArea, i);
                i++;
            }
            var random       = new Random();
            var questoesArea = (from q in dbContext.Questao where idsArea.Contains(q.idArea) orderby random.Next() select q).Take(_configuracoes.NumeroQuestoesExame);

            if (questoesArea.Count() != 0)
            {
                //Grava temporariamente as 80 questões do simulado
                SimuladoViewModel.listaQuestoes = questoesArea;
                SimuladoViewModel svm = await selecionaPerguntas(page);

                ViewData["segundos"] = 0;
                return(View("Index", svm));
            }
            return(RedirectToRoute(new {
                Controller = "Enrollment",
                Action = "Index"
            }));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> SimulacaoStep(int?page, int segundos)
        {
            //Seleciona a nova pergunta que irá mostrar para o usuário
            SimuladoViewModel svm = await selecionaPerguntas(page);

            ViewData["segundos"] = segundos;
            return(View("Index", svm));
        }
Exemplo n.º 3
0
        private async Task <SimuladoViewModel> selecionaPerguntas(int?page)
        {
            SimuladoViewModel svm = new SimuladoViewModel();

            svm.Questoes = await PaginatedList <Questao> .CreateAsync(SimuladoViewModel.listaQuestoes, page ?? 1, 1);

            svm.RespostasQuestao = dbContext.Resposta.Where(r => r.idQuestao == svm.Questoes.First().idQuestao).ToList();
            foreach (var resposta in svm.RespostasQuestao)
            {
                if (resposta.Correta == true)
                {
                    ViewData["idRespostaCorreta"] = resposta.idResposta;
                }
            }
            return(svm);
        }