Пример #1
0
        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));
        }
Пример #2
0
        // 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));
        }