public void DoExercises() { if (Test.CategoryName == "Nyelvtan") { if (GrammarExercises.Count != _currentExerciseNum) { IExerciseView exerciseView = new GrammarChooseOneExerciseView( GrammarExercises[_currentExerciseNum], new RelayCommand(NextExercise) ); _gridOfTest.Children.Add(exerciseView.GetUIElement()); _currentExerciseNum++; } } else { if (VocabularyExercises.Count != _currentExerciseNum) { var exercise = VocabularyExercises[_currentExerciseNum]; IExerciseView exerciseView = SetExerciseType(exercise); _gridOfTest.Children.Add(exerciseView.GetUIElement()); _currentExerciseNum++; } } }
private async void NextExercise() { var result = new ResultPresenter { Number = Results.Count + 1, IsCorrect = false }; if (((IExerciseView)_gridOfTest.Children[0]).CheckIsCorrect()) { CorrectAnswers++; result.IsCorrect = true; } Results.Add(result); _gridOfTest.Children.Clear(); if (Test.CategoryName == "Nyelvtan") { if (GrammarExercises.Count != _currentExerciseNum) { IExerciseView exerciseView = new GrammarChooseOneExerciseView( GrammarExercises[_currentExerciseNum], new RelayCommand(NextExercise) ); _gridOfTest.Children.Add(exerciseView.GetUIElement()); _currentExerciseNum++; } else { Points = (int)(CorrectAnswers / (float)Test.NumberOfQuestions * Test.MaxPoints); End = true; var service = new TestService(); var testResult = new TestResultDto { RightAnswers = CorrectAnswers, WrongAnswers = Test.NumberOfQuestions - CorrectAnswers, Points = Points }; var userPoints = await service.PostTestResult(LoggedInUser, Test, testResult); LoggedInUser.Points = userPoints; } } else { if (VocabularyExercises.Count != _currentExerciseNum) { var exercise = VocabularyExercises[_currentExerciseNum]; IExerciseView exerciseView = SetExerciseType(exercise); _gridOfTest.Children.Add(exerciseView.GetUIElement()); _currentExerciseNum++; } else { Points = (int)(CorrectAnswers / (float)Test.NumberOfQuestions * Test.MaxPoints); End = true; var service = new TestService(); var testResult = new TestResultDto { RightAnswers = CorrectAnswers, WrongAnswers = Test.NumberOfQuestions - CorrectAnswers, Points = Points }; var userPoints = await service.PostTestResult(LoggedInUser, Test, testResult); LoggedInUser.Points = userPoints; } } }