// // GET: /Question/Create public ActionResult Create(int id) { Form form = context.Forms.SingleOrDefault(b => b.FormId == id); ViewBag.FormTitle = form.Title; Question question = new Question(); question.FormId = id; return View(question); }
public ActionResult Create(Question question) { try { if (ModelState.IsValid) { Form form = context.Forms.SingleOrDefault(b => b.FormId == question.FormId); form.Questions.Add(question); context.SaveChanges(); return RedirectToAction("Details", "Data", new { id = form.FormId }); } return View(); } catch (Exception ex) { return RedirectToAction("Error", "Shared", ex.Message); } }
public ActionResult AddQuestion(FormCollection collection) { try { //Création d'une nouvelle question Question quest = new Question(); //On récupère le FormId du formulaire quest.FormId = Convert.ToInt32(Request.Form["listForms"].ToString()); //On retourne la question à la vue return View(quest); } catch (Exception ex) { return RedirectToAction("Error", "Shared", ex.Message); } }
public ActionResult Edit(int id, Question question) { try { if (ModelState.IsValid) { using (context) { Question _question = context.Questions.Single(p => p.QuestionId == id); _question.QuestionLabel = question.QuestionLabel; context.Entry(_question).State = EntityState.Modified; context.SaveChanges(); return RedirectToAction("Index"); } } return View(question); } catch (Exception ex) { return RedirectToAction("Error", "Shared", ex.Message); } }
public ActionResult Delete(int id, Question question) { try { //get question to delete Question _question = context.Questions.Single(p => p.QuestionId == id); #region DeleteAnswers //Select all asnwers to this question List<Answer> answersToDelete = context.Answers.Where(i => i.QuestionId == id).ToList(); //On supprime les réponses de la base foreach (Answer answerToDelete in answersToDelete) { context.Answers.Remove(answerToDelete); } #endregion #region DeleteStats //Select All stats to this question List<Stat> statsToDelete = context.Stats.Where(i => i.QuestionId == id).ToList(); //On supprime chaque stat foreach (Stat statToDelete in statsToDelete) { context.Stats.Remove(statToDelete); } #endregion //Delete question context.Questions.Remove(_question); context.SaveChanges(); return RedirectToAction("Index"); } catch (Exception ex) { return RedirectToAction("Error", "Shared", ex.Message); } }