public double GetPercentOfQuestByEntry(int questId) { if (!CSMUFileMgr.ContainsKey(questId)) { throw new Exception("Key not found."); } return(ResultCollection[questId] * 100); }
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])); } } }
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)); }