예제 #1
0
        public ActionResult Resultados(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            Prova prova = db.Prova.Find(id);
            if (prova == null)
            {
                return HttpNotFound();
            }

            ViewBag.ProvaID = prova.ProvaID;

            ResultadosViewModel model = new ResultadosViewModel();

            model.Prova = prova;
            model.ListaResultado = new System.Collections.Generic.List<Resultado>();

            using (CAppDataModel dc = new CAppDataModel())
            {
                List<string> alunos = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(0)).Select(m => m.CodigoAluno).Distinct().ToList();
                List<Resposta> gabarito = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(1)).ToList();

                for (int i = 0; i < alunos.Count; i++)
                {
                    string aluno = alunos.ElementAt(i);
                    int acertos = 0;
                    int totalDeQuestoes = gabarito.Count;

                    List<Resposta> respostaAluno = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.CodigoAluno.Equals(aluno)).ToList();
                    for (int j = 0; j < totalDeQuestoes; j++)
                    {
                        if (gabarito.ElementAt(j).Alternativa == respostaAluno.ElementAt(j).Alternativa)
                        {
                            acertos++;
                        }
                    }

                    Resultado resultado = new Resultado();
                    resultado.Aluno = aluno;
                    resultado.Nota = (10 * acertos) / totalDeQuestoes;
                    model.ListaResultado.Add(resultado);
                }
            }

            return View(model);
        }
예제 #2
0
 public ActionResult EditarGabarito(EditarGabaritoViewModel model)
 {
     if (ModelState.IsValid) {
         using (CAppDataModel dc = new CAppDataModel())
         {
             foreach (Resposta r in model.ListaResposta)
             {
                 var resposta = dc.Resposta.Where(re => re.ProvaID.Equals(r.ProvaID) && re.Questao.Equals(r.Questao)).FirstOrDefault();
                 if (resposta != null)
                 {
                     resposta.Alternativa = r.Alternativa;
                     resposta.isGabarito = 1;
                     UpdateModel(resposta);
                 }
                 else
                 {
                     dc.Resposta.Add(r);
                 }
             }
             dc.SaveChanges();
         }
     }
     return RedirectToAction("Index");
 }
예제 #3
0
        public ActionResult RespostaAluno(int? provaID, string alunoID)
        {
            if (provaID == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            Prova prova = db.Prova.Find(provaID);
            if (prova == null)
            {
                return HttpNotFound();
            }

            RespostaAlunoViewModel model = new RespostaAlunoViewModel();

            model.Prova = prova;
            ViewBag.AlunoID = alunoID;

            using (CAppDataModel dc = new CAppDataModel())
            {
                List<Resposta> resposta = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(0) && re.CodigoAluno.Equals(alunoID)).ToList();
                List<Resposta> gabarito = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(1)).ToList();

                model.RespostaAluno = resposta;
                model.RespostaGabarito = gabarito;
            }

            return View(model);
        }
예제 #4
0
        public ActionResult EditarGabarito(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Prova prova = db.Prova.Find(id);
            if (prova == null)
            {
                return HttpNotFound();
            }

            ViewBag.Nome = prova.Nome;
            ViewBag.QtdQuestao = prova.QtdQuestoes;

            EditarGabaritoViewModel model = new EditarGabaritoViewModel();

            model.ListaResposta = new System.Collections.Generic.List<Resposta>();

            using (CAppDataModel dc = new CAppDataModel())
            {
                var respostas = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(1));
                model.ListaResposta.AddRange(respostas);

                for (int i = respostas.Count(); i < prova.QtdQuestoes; i++)
                {
                    Resposta r = new Resposta();
                    r.Alternativa = "A";
                    r.CodigoAluno = prova.ProfessorID.ToString();
                    r.ProvaID = prova.ProvaID;
                    r.isGabarito = 1;
                    r.Questao = i + 1;

                    model.ListaResposta.Add(r);
                }

            }

            return View(model);
        }