private void AddQuestionButton_Click(object sender, RoutedEventArgs e) { if (QuestionNameTextBox.Text.Equals(string.Empty)) { return; } actualAnswers.RemoveAll(x => x.Name == null); if (actualAnswers.Count == 0) { return; } if (editMode) { editMode = false; var questionItem = questionItems.Find(x => x.ID == actualQuestionID); var question = new Question(questionItem.ID, QuestionNameTextBox.Text, new List <Answer>(actualAnswers)); QuestionManager.SetQuestion(question); InitQuestionItems(); } else { actualAnswersID = 0; var question = new Question(questionsID, QuestionNameTextBox.Text, new List <Answer>(actualAnswers)); QuestionManager.AddQuestion(question); var questionItem = new QuestionItem(question); QuestionListStackPanel.Children.Add(questionItem); questionItems.Add(questionItem); questionsID++; } QuestionNameTextBox.Text = string.Empty; AnswersStackPanel.Children.Clear(); actualAnswers.Clear(); ChangeAddOrEditQuestionIcon(); SaveQuestions(); }
public static void ReadFile(string fileName, ref Snackbar errorSnackbar) { Mouse.OverrideCursor = Cursors.Wait; QuestionManager.ClearQuestions(); using (var reader = new StreamReader(fileName)) { try { dynamic json = JsonConvert.DeserializeObject(reader.ReadToEnd()); for (int i = 0; i < json.Count; i++) { string question = json[i].Name; var answers = new List <Answer>(); for (int j = 0; j < json[i].Answers.Count; j++) { string answer = json[i].Answers[j].Name; bool right = json[i].Answers[j].Right; answers.Add(new Answer(j, answer, right)); } QuestionManager.AddQuestion(new Question(i, question, answers)); ((QuestionsContent)TabManager.GetTab("Questions").Content).AddNewQuestion(); ((SettingsContent)TabManager.GetTab("Settings").Content).UpdateQuestionItems(fileName); } } catch (Exception) { errorSnackbar.MessageQueue.Enqueue("Can't read file.", null, null, null, false, true, TimeSpan.FromSeconds(4)); } } Mouse.OverrideCursor = Cursors.Arrow; }