//GET: PossibleAnswers/Create?QuestionID=5 public ActionResult Create(int?QuestionID) { if (QuestionID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Question ques = db.Questions.Find(QuestionID); if (ques == null) { return(HttpNotFound()); } if (ques.Test.Status == "Open") { TempData["msg"] = "Nie można utworzyć możliwej odpowiedzi do pytania w teście, który jest otwarty do wypełniania!"; TempData["option"] = "warning"; return(RedirectToAction("Details", "Tests", new { id = ques.Test.Id_testu })); } var question = db.Questions.Single(p => p.Id_question == ques.Id_question); var temp = question.PossibleAnswers.Where(p => p.isCorrect == "True") .Count(); if (question.PossibleAnswers.Count != 0 && temp != 0) { ViewBag.Options = new List <SelectListItem> { new SelectListItem { Text = "Incorrect", Value = "False" } }; } else { ViewBag.Options = new List <SelectListItem> { new SelectListItem { Text = "Incorrect", Value = "False" }, new SelectListItem { Text = "Correct", Value = "True" } }; } CreatePossibleAnswerViewModels pos_ans = new CreatePossibleAnswerViewModels(); pos_ans.TestID = question.Test.Id_testu; pos_ans.QuestionID = ques.Id_question; return(PartialView("_Create", pos_ans)); }
public ActionResult Create(CreatePossibleAnswerViewModels pos_ans) { if (ModelState.IsValid) { Question question = db.Questions.Single(p => p.Id_question == pos_ans.QuestionID); var possible_answer = new PossibleAnswer(); possible_answer.Content = pos_ans.Content; possible_answer.isCorrect = pos_ans.isCorrect; possible_answer.Question = question; db.PossibleAnswers.Add(possible_answer); db.SaveChanges(); TempData["msg"] = "Utworzono możliwą odpowiedź do pytania w teście poprawnie!"; TempData["option"] = "success"; return(RedirectToAction("Details", "Tests", new { id = pos_ans.TestID })); } return(PartialView("_Create")); }