Пример #1
0
 private void TimerSetup()
 {
     time = TestsRegister.GetTimer(TestID);
     //basetime = time;
     Debug.WriteLine(time);
 }
Пример #2
0
        public void Initialize(long orderId)
        {
            var data = TestsRegister.GetContentGridData();

            Item = data.First(i => i.TestId == orderId);
        }
Пример #3
0
        private void BuildTest()
        {
            if (NumOfQ != TestsRegister.GetNumQ(TestID))
            {
                Ring.IsActive = false;

                int listLength = Questions.Count;
                randomInt = UpdateRandom(listLength);

                Debug.WriteLine("Random " + randomInt);

                Question.Text = Questions[randomInt];

                selectedQuestionList.Add(Ans1[randomInt]); // 0
                selectedQuestionList.Add(Ans2[randomInt]); // 1
                selectedQuestionList.Add(Ans3[randomInt]); // 2
                selectedQuestionList.Add(Ans4[randomInt]); // 3
                selectedQuestionList.Add(Ans5[randomInt]); // 4

                ShuffleHelper.Shuffle <string>(selectedQuestionList);

                Answer1.Content = selectedQuestionList[0];
                Answer2.Content = selectedQuestionList[1];
                Answer3.Content = selectedQuestionList[2];
                Answer4.Content = selectedQuestionList[3];
                Answer5.Content = selectedQuestionList[4];

                basetime = time;
                ProgressBarTime.Value = time;
                TimerEngine();
                timer.Start();

                NumOfQ++;
            }
            else
            {
                List <int> finalTime = new List <int>();
                Debug.WriteLine("Proces bol ukončený!");

                foreach (var time_ in AnsTime)
                {
                    finalTime.Add(time - time_);
                }

                foreach (var nullcount in IncorrectAns)
                {
                    if (nullcount == null)
                    {
                        NoAnsCount++;
                    }
                }

                double AvgTime = finalTime.Average();


                var pnts = (CorrectAnsCount / 0.50) / AvgTime;
                Points = (int)pnts;

                var totalAns = CorrectAnsCount + IncorrectAnsCount;
                Percentage = (100 * CorrectAnsCount) / totalAns;

                if (Percentage >= 90)
                {
                    Mark = 1;
                }
                if (Percentage >= 75 && Percentage < 90)
                {
                    Mark = 2;
                }
                if (Percentage >= 65 && Percentage < 75)
                {
                    Mark = 3;
                }
                if (Percentage >= 40 && Percentage < 65)
                {
                    Mark = 4;
                }
                if (Percentage < 40)
                {
                    Mark = 5;
                }

                SaveDataService sdc = new SaveDataService(CorrectAnsCount, IncorrectAnsCount, IncorrectAns, AvgTime, TestID, Mark, Percentage);

                var parameters = new PassDataModel();
                parameters.CorrectAnsCount   = this.CorrectAnsCount;
                parameters.IncorrectAnsCount = this.IncorrectAnsCount;
                parameters.IncorrectAns      = this.IncorrectAns;
                parameters.AvgTime           = AvgTime;
                parameters.Date         = DateTime.Now;
                parameters.NoAnsCount   = NoAnsCount;
                parameters.Points       = Points;
                parameters.Mark         = Mark;
                parameters.Announcement = Annouc();
                parameters.Percentage   = Percentage;
                parameters.IncQuestions = IncQuestions;
                parameters.ID           = TestID;

                this.Frame.Navigate(typeof(SummaryPage), parameters);
            }
        }