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; }
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; }
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(); }
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(); }