public PartialViewResult Edit([Bind(Include = "Id,Description,Options,ExamId")] QuestionWithOptionsViewModel model)
        {
            if (ModelState.IsValid)
            {
                _service.SaveQuestion(model);
                var question = _service.FindQuestion(model.Id);
                question = _service.EvaluateNotationless(question);
                return(PartialView("_Details", question));
            }

            return(PartialView("_Edit", model));
        }
        public QuestionWithOptionsViewModel GetQuestionWithOptions(int questionId)
        {
            var question = FindQuestion(questionId);
            var model    = new QuestionWithOptionsViewModel
            {
                Id          = questionId,
                ExamId      = question.ExamId,
                Description = question.Description,
                Options     = question.Options.ToList()
            };

            return(model);
        }
        public void SaveQuestion(QuestionWithOptionsViewModel model)
        {
            MultipleSelectionQuestion question = new MultipleSelectionQuestion
            {
                Id          = model.Id,
                ExamId      = model.ExamId,
                Description = model.Description,
                Options     = model.Options
            };

            _db.Entry(question).State = EntityState.Modified;
            foreach (var option in question.Options)
            {
                _db.Entry(option).State = EntityState.Modified;
            }

            _db.SaveChanges();
        }