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")); }
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")); }