Exemplo n.º 1
0
 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++;
         }
     }
 }
Exemplo n.º 2
0
        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;
                }
            }
        }