Exemplo n.º 1
0
 public ActionResult Edit([Bind(Include = "ID,QuestionID,AnswerID,IsCorrect")] OfferedAswer offeredAswer)
 {
     /* if (ModelState.IsValid)
      * {
      *   db.Entry(offeredAswer).State = EntityState.Modified;
      *   db.SaveChanges();
      *   return RedirectToAction("Index");
      * }
      * ViewBag.AnswerID = new SelectList(db.Answers, "ID", "text", offeredAswer.AnswerID);
      * ViewBag.QuestionID = new SelectList(db.Questions, "ID", "text", offeredAswer.QuestionID);
      * return View(offeredAswer);*/
     return(RedirectToAction("Index", "Home"));
 }
Exemplo n.º 2
0
        public ActionResult CheckAnswers(FormCollection model)
        {
            if (model != null)
            {
                /* for (int i = 0; i < model.Count(); ++i)
                 * {
                 *   OfferedAswer answer = model.ElementAt(i);
                 *   int ID = answer.ID;
                 *   OfferedAswer oa = db.OfferedAnswers.Find(ID);
                 *   if (answer.IsCorrect != oa.IsCorrect)
                 *   {
                 *
                 *       return "Not correct";
                 *   }
                 * }
                 * return "Correct!"; */

                // @Html.CheckBoxFor(m => m.OfferedAnswers.ElementAt(i).IsCorrect)
                //                        @Html.CheckBox("IsCorrect", false, htmlAttributes: new { @class = "form-control" })
                //String id = model["ID"];
                //if(id!=null)
                //String[] IDs= id.Split(',');


                String   answerIds = model["AnswerID"];
                String[] answerIDs;
                if (answerIds != null)
                {
                    answerIDs = answerIds.Split(',');
                }


                String questionIds = model["QuestionID"];
                //String[] questionIDs = questionIds.Split(',');
                // int idQuestion = Int32.Parse(questionIDs[0]);

                String   selected = model["isSelected"];
                String[] selectedAnswers;
                int[]    idsAnsweredQuestions;
                if (selected != null && questionIds != null)
                {
                    String[] questionIDs = questionIds.Split(',');
                    int      idQuestion  = Int32.Parse(questionIDs[0]);
                    selectedAnswers      = selected.Split(',');
                    idsAnsweredQuestions = new int[selectedAnswers.Count()];
                    for (int i = 0; i < selectedAnswers.Count(); ++i)
                    {
                        idsAnsweredQuestions[i] = Int32.Parse(selectedAnswers.ElementAt(i));
                    }
                    Question question = db.Questions.Find(idQuestion);


                    var answers = question.OfferedAnswers.Where(q => q.IsCorrect == true);



                    int count = 0;
                    if (idsAnsweredQuestions.Count() == 0 || answers.Count() > idsAnsweredQuestions.Count())
                    {
                        return(RedirectToAction("Details", new { id = idQuestion, message = "Некомплетен одговор." }));
                    }
                    for (int i = 0; i < idsAnsweredQuestions.Count(); ++i)
                    {
                        OfferedAswer answer = db.OfferedAnswers.Find(idsAnsweredQuestions[i]);
                        if (!answer.IsCorrect)
                        {
                            return(RedirectToAction("Details", new { id = idQuestion, message = "Неточен одговор." }));
                        }
                        else
                        {
                            ++count;
                        }
                    }
                    // ViewBag["id"] = idQuestion;
                    //return View("CorrectAnswer");

                    return(RedirectToAction("NextQuestion", new { id = idQuestion, sectionId = question.sectionID }));
                }
            }



            return(View("CorrectAnswer"));
        }