public async Task <ActionResult> AddQuestionsToCheck(AddQuestionsView model) { if (ModelState.IsValid) { var quiz = _db.Quizs.Include("QuestionsToCheckList").FirstOrDefault(m => m.Id == model.QuizId); if (quiz == null) { return(View(model)); } if (quiz.QuestionsToCheckList == null) { quiz.QuestionsToCheckList = new List <QuestionToCheck>(); } else { quiz.QuestionsToCheckList.Clear(); _db.SaveChanges(); } foreach (var questionToAdd in model.QuestionsList.Where(questionToAdd => questionToAdd.Selected)) { quiz.QuestionsToCheckList.Add(_db.QuestionsToCheck.Find(questionToAdd.QuestionId)); } await _db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(model)); }
// GET: Quizs/AddQuestions/5 public async Task <ActionResult> AddQuestionsToCheck(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var quiz = await _db.Quizs.Include("QuestionsToCheckList").FirstOrDefaultAsync(m => m.Id == id); if (quiz == null) { return(HttpNotFound()); } var questionsList = await _db.QuestionsToCheck.ToListAsync(); var model = new AddQuestionsView { QuizId = quiz.Id, QuizName = quiz.Name, QuestionsList = questionsList.Select(question => new QuestionToAdd() { QuestionId = question.Id, Description = question.Description, Selected = false }).ToList() }; foreach (var questionToAdd in model.QuestionsList.Where(questionToAdd => quiz.QuestionsToCheckList.Contains(_db.QuestionsToCheck.Find(questionToAdd.QuestionId)))) { questionToAdd.Selected = true; } ViewBag.Name = quiz.Name; ViewBag.QuizId = quiz.Id; return(View(model)); }