Beispiel #1
0
        private void Result()
        {
            if (isEnded)
            {
                Close();
                return;
            }

            isEnded = true;

            SQLData.Q1               = KettelTest.GetAnswer(KettelTest.Type.Q1);
            SQLData.B                = KettelTest.GetAnswer(KettelTest.Type.B);
            SQLData.Q3               = KettelTest.GetAnswer(KettelTest.Type.Q3);
            SQLData.Q4               = KettelTest.GetAnswer(KettelTest.Type.Q4);
            SQLData.math_result      = MathematicalTest.GetAnswer();
            SQLData.math_time        = MathematicalTest.GetBonusTime();
            SQLData.memory_count     = MemoryTest.GetAnswer();
            SQLData.encryption_count = EncryptionTest.answersCount;
            SQLData.miss_count       = MissingDetailsTest.GetAnswer();

            SQLScripts.SetAnswers();
            SQLScripts.RemoveUser();
            this.Size = new Size(900, 700);

            ResultView view = new ResultView();

            view.AddElement();
            view.AlignX();
            missingDetailsElement?.Hide();
            AlignElements();
        }
        public ResultView()
        {
            userNameLabel          = new Label();
            userNameLabel.AutoSize = true;
            userNameLabel.Text     = "Спасибо за уделенное время!";
            userNameLabel.TabIndex = 0;
            Program.mainForm.Controls.Add(userNameLabel);
            userNameLabel.Location = new System.Drawing.Point((Program.mainForm.Size.Width - userNameLabel.Size.Width) / 2, 50);

            userNameLabel   = new Label();
            kettelLabel     = new Label();
            mathLabel       = new Label();
            memoryLabel     = new Label();
            encryptionLabel = new Label();
            missLabel       = new Label();

            labelList = new List <Label>()
            {
                userNameLabel,
                kettelLabel,
                mathLabel,
                memoryLabel,
                encryptionLabel,
                missLabel
            };

            int x = 0, y = 70;

            userNameLabel.Text      = SQLData.user_name;
            kettelLabel.MaximumSize = new System.Drawing.Size(650, 1000);
            kettelLabel.Text        =
                "Результат по фактору " + KettelTest.Type.B.ToString() + " " + KettelTest.GetAnswer(KettelTest.Type.B) + "\n" + BriefDescription.GetDescription(KettelTest.Type.B) + "\n" +
                "Результат по фактору " + KettelTest.Type.Q1.ToString() + " " + KettelTest.GetAnswer(KettelTest.Type.Q1) + "\n" + BriefDescription.GetDescription(KettelTest.Type.Q1) + "\n" +
                "Результат по фактору " + KettelTest.Type.Q3.ToString() + " " + KettelTest.GetAnswer(KettelTest.Type.Q3) + "\n" + BriefDescription.GetDescription(KettelTest.Type.Q2) + "\n" +
                "Результат по фактору " + KettelTest.Type.Q4.ToString() + " " + KettelTest.GetAnswer(KettelTest.Type.Q4) + "\n" + BriefDescription.GetDescription(KettelTest.Type.Q4) + "\n";

            mathLabel.Text       = "Результат по арифметической части " + MathematicalTest.GetAnswer() + "/" + MathematicalTest.questions.Count;       //+ " бонусное время : " + MathematicalTest.GetBonusTime();
            memoryLabel.Text     = "Результат по тесту \"Ряды\"" + MemoryTest.GetAnswer().ToString() + " запомненых цифр";
            encryptionLabel.Text = "Результат по тесту \"Шифрование\"" + EncryptionTest.answersCount.ToString() + " правильных расшифровок";
            missLabel.Text       = "Результат по тесту \"Недостащие детали\"" + MissingDetailsTest.GetAnswer().ToString() + "/" + MissingDetailsTest.GetInfo().Count;

            for (int i = 0; i < LABEL_COUNT; i++)
            {
                labelList[i].AutoSize = true;
                labelList[i].Location = new Point(x, y);
                labelList[i].TabIndex = 0;
                y += 40;

                if (i == 1)
                {
                    y += 200;
                }
            }

            AlignX();
        }
Beispiel #3
0
        private void MainWindow_Load(object sender, EventArgs e)
        {
            mainTextLabel.Text   = "";
            buttonNext.Text      = BUTTON_TEXT_CONTINUE;
            answersGroup.Visible = false;
            answersGroup.Text    = "";
            errorLabel.Visible   = false;
            KettelTest.LoadTest();
            iteration = TestIteration.Mathematical;             //Login
            AlignElements();

            NextIteration();
        }
Beispiel #4
0
        public string GetResult()
        {
            string totalText = "";

            foreach (KeyValuePair <KettelTest.Type, int> item in pointsDictionary)
            {
                int points = KettelTest.GetPoints(item.Key, item.Value);
                totalText += item.Key.ToString() + ": " + points.ToString() + " " + (points > 6 ? results[item.Key].high : results[item.Key].low) + "\n";
            }
            totalText += "\nКраткая характеристика\n";

            foreach (KeyValuePair <KettelTest.Type, int> item in pointsDictionary)
            {
                int points = KettelTest.GetPoints(item.Key, item.Value);
                totalText += item.Key.ToString() + ": " + BriefDescription.GetDescription(item.Key) + "\n\n";
            }

            return(totalText);
        }
Beispiel #5
0
 public static string GetDescription(KettelTest.Type type)
 {
     return(descriptions[type].GetDescription(KettelTest.GetAnswer(type)));
 }
Beispiel #6
0
        private void NextIterationKettel()
        {
            loginLabel.Visible   = false;
            loginTextBox.Visible = false;

            if (isKettelStarted)
            {
                bool isSuccess = AddResult();

                if (!isSuccess)
                {
                    return;
                }
            }

            if (showDescription)
            {
                mainTextLabel.Text = "Вам предлагается ответить на ряд вопросов, цель которых – выяснить ваши когнитивные навыки" +
                                     "\n\n	1. Не нужно тратить много времени на обдумывание ответов.\nДавайте тот ответ, который первым придет Вам в голову.\nКонечно, вопросы часто будут сформулированы не так подробно, как Вам хотелось бы.\nВ таком случае старайтесь представить себе «среднюю»,\nнаиболее частую ситуацию, которая соответствует смыслу вопроса и, исходя из этого, выбирайте ответ.\nОтвечать надо как можно точнее, но не слишком медленно."+
                                     "\n\n	2. Старайтесь не прибегать к промежуточным, неопределенным ответам\n(типа «не знаю», «нечто среднее» и т.п.) слишком часто."+
                                     "\n\n	3. Некоторые вопросы могут показаться Вам личными,\nно Вы можете быть уверены в том, что ответы не будут разглашены.\nПричем ответы на каждый отдельный вопрос вообще не будут рассматриваться:\nнас интересуют только обобщенные показатели."+
                                     "\n\n	4. Не старайтесь произвести хорошее впечатление своими ответами, они должны соответствовать действительности.\nЗаранее благодарим Вас за помощь в отработке методики.";
                showDescription = false;
                AlignElements();
                return;
            }

            if (!isKettelStarted)
            {
                kettelTimer          = new Timer();
                kettelTimer.Tick    += onKettelTimer;
                kettelTimer.Enabled  = true;
                kettelTimer.Interval = 1000;
                kettelTimer.Start();
            }

            isKettelStarted = true;

            if (buttonNext.Text == BUTTON_TEXT_START)
            {
                buttonNext.Text = BUTTON_TEXT_CONTINUE;
            }

            answersGroup.Visible = true;

            KettelTestQuestion question = KettelTest.GetNextQuestion();

            if (question == null)
            {
                kettelTimer.Stop();
                IncreaseIterator();
                return;
            }

            mainTextLabel.Text = question.text;
            int questionIndex = question.answers.Count - 1;

            foreach (RadioButton button in answersGroup.Controls.OfType <RadioButton>())
            {
                if (questionIndex == 0)
                {
                    button.Checked = true;
                    button.Checked = false;
                }

                button.Text = question.answers[questionIndex].name;
                questionIndex--;
            }

            errorLabel.Visible = false;
            AlignElements();
        }