Esempio n. 1
0
        public double GetPercentOfQuestByEntry(int questId)
        {
            if (!CSMUFileMgr.ContainsKey(questId))
            {
                throw new Exception("Key not found.");
            }

            return(ResultCollection[questId] * 100);
        }
Esempio n. 2
0
        public void _NextQuest(int rowId)
        {
            for (int i = 0; i < CSMUFileMgr.Count; i++)
            {
                if (!CSMUFileMgr.ContainsKey(rowId))
                {
                    return;
                }
            }

            // clear answers and quest
            QuestField.Content = string.Empty;
            box.Items.Clear();

            if (CSMUFileMgr[rowId].questType == QuestType.TextingImage)
            {
                answerBox.Visibility = System.Windows.Visibility.Visible;

                if (box.Visibility == System.Windows.Visibility.Visible)
                {
                    box.Visibility = System.Windows.Visibility.Hidden;
                }
            }
            else if (CSMUFileMgr[rowId].questType == QuestType.Single)
            {
                answerBox.Visibility = System.Windows.Visibility.Hidden;
                box.Visibility       = System.Windows.Visibility.Visible;
                box.SelectionMode    = SelectionMode.Single;
            }
            else if (CSMUFileMgr[rowId].questType == QuestType.Multiple ||
                     CSMUFileMgr[rowId].questType == QuestType.ChoiceImage)
            {
                answerBox.Visibility = System.Windows.Visibility.Hidden;
                box.Visibility       = System.Windows.Visibility.Visible;
                box.SelectionMode    = SelectionMode.Multiple;
            }

            if (CSMUFileMgr[rowId].questType == QuestType.TextingImage)
            {
                AddItemWithTextImage(CSMUFileMgr[rowId].Quest, CSMUFileMgr[rowId].HeaderImage);
            }
            else
            {
                SetQuestField(QuestField, CSMUFileMgr[rowId].Quest);

                for (int i = 0; i < CSMUFileMgr[rowId].Answers.Count; i++)
                {
                    box.Items.Add(AddItemWithoutImage(CSMUFileMgr[rowId].questType, CSMUFileMgr[rowId].Answers[i]));
                }
            }
        }
Esempio n. 3
0
        private void CalculateAmount(int id, int diff)
        {
            if (!CSMUFileMgr.ContainsKey(id))
            {
                throw new Exception("Key " + id + " not found.");
            }

            if ((endResponce + 1) == CSMUFileMgr.Count)
            {
                NextQst.Content = "Завершить.";
            }

            endResponce++;

            int Wrong = 0;

            if (CSMUFileMgr[id].questType != QuestType.TextingImage)
            {
                if (box.SelectedItems.Count < 1)
                {
                    ResultCollection.Add(id, 0.0);
                    return;
                }
            }

            if (CSMUFileMgr[id].questType == QuestType.Single)
            {
                if (!CSMUFileMgr[id].corrected.Contains(GetSingleItemText()))
                {
                    Wrong++;
                }
            }
            else if (CSMUFileMgr[id].questType == QuestType.Multiple || CSMUFileMgr[id].questType == QuestType.ChoiceImage)
            {
                if (box.SelectedItems.Count > 1)
                {
                    for (int i = 0; i < box.SelectedItems.Count; i++)
                    {
                        if (!CSMUFileMgr[id].corrected.Contains(GetMultipleItemText(i, CSMUFileMgr[id].questType)))
                        {
                            Wrong++;
                        }
                    }
                }

                if (box.SelectedItems.Count == 1)
                {
                    for (int i = 0; i < box.SelectedItems.Count; i++)
                    {
                        if (CSMUFileMgr[id].corrected.Contains(GetMultipleItemText(i, CSMUFileMgr[id].questType)))
                        {
                            Wrong = CSMUFileMgr[id].corrected.Count - 1;
                        }
                        else
                        {
                            Wrong = CSMUFileMgr[id].corrected.Count;
                        }
                    }
                }

                if (box.SelectedItems.Count == CSMUFileMgr[id].Answers.Count)
                {
                    if (CSMUFileMgr[id].corrected.Count == CSMUFileMgr[id].Answers.Count)
                    {
                        ResultCollection.Add(id, 1.0);
                        return;
                    }
                    else
                    {
                        ResultCollection.Add(id, 0);
                        return;
                    }
                }

                if (box.SelectedItems.Count == 0)
                {
                    Wrong = CSMUFileMgr[id].corrected.Count;
                }
            }
            else if (CSMUFileMgr[id].questType == QuestType.TextingImage)
            {
                ResultCollection.Add(id, answerBox.Text.ToLower() == CSMUFileMgr[id].ImageAnswer.ToLower() ? 1.0 : 0.0);
                CSMUFileMgr[id].Time = ((60 - diff) == 0 ? 1 : (60 - diff));
                return;
            }

            UltimateResult  = (CSMUFileMgr[id].corrected.Count - Wrong);
            UltimateResult /= CSMUFileMgr[id].corrected.Count;

            ResultCollection.Add(id, UltimateResult);
            CSMUFileMgr[id].Time = ((60 - diff) == 0 ? 1 : (60 - diff));
        }