public void UpdateInstance(QuestionInstance instance)
 {
     var ctx = QuizlrContext.Current;
     ctx.QuestionInstances.Attach(instance);
     ctx.Entry(instance).State = EntityState.Modified;
     ctx.SaveChanges();
 }
 public QuestionInstance CreateInstance(QuestionInstance instance)
 {
     var ctx = QuizlrContext.Current;
     ctx.QuestionInstances.Add(instance);
     ctx.SaveChanges();
     return instance;
 }
示例#3
0
 private void SaveQuestion()
 {
     if (_isComplete || _questionInstance == null)
         return;
     if (SelectedAnswer == null)
         throw new InvalidOperationException("This should not happen.");
     _questionInstance.Value = SelectedAnswer.Text;
     _questionInstance.IsCorrect = SelectedAnswer.IsCorrect;
     _questionInstance.Completed = DateTime.Now;
     _questionInstance = _questionInstanceRepository.CreateInstance(_questionInstance);
     foreach (var answer in Answers)
     {
         var instance = (AnswerInstance) answer.Poco;
         instance.QuestionInstanceId = _questionInstance.QuestionInstanceId;
         _answerInstanceRepository.CreateInstance(instance);
     }
     _hasAnswers = true;
 }
示例#4
0
 private void NextQuestion()
 {
     SaveQuestion();
     if (_enumerator.MoveNext())
     {
         QuestionIndex++;
         CurrentQuestion = new QuestionViewModel(_enumerator.Current.Question);
         _questionInstance = CurrentQuestion.Poco;
         _questionInstance.QuizInstanceId = _quizInstance.QuizInstanceId;
         SelectedAnswer = null;
         return;
     }
     StopQuiz();
 }
示例#5
0
 private void ResetQuiz()
 {
     ResetStats();
     if (CurrentQuiz == null)
     {
         Invalidate();
         return;
     }
     _quizInstance = _quizInstanceRepository.CreateInstance(CurrentQuiz.Poco);
     _questionInstance = null;
     _enumerator = _currentQuiz.QuizQuestions.GetEnumerator();
     QuestionCount = _currentQuiz.QuizQuestionCount;
     QuestionIndex = 0;
     NextQuestion();
     Invalidate();
 }
 public void DeleteInstance(QuestionInstance instance)
 {
     var ctx = QuizlrContext.Current;
     ctx.QuestionInstances.Remove(instance);
     ctx.SaveChanges();
 }