/// <summary> /// Добавить вопрос в список вопросов /// </summary> /// <param name="question"></param> public void AddQuestion(Question question) { int CurrentNumberQuestion = QuestionsObj.QuestionsList.Count; question.NumberQuestion = CurrentNumberQuestion; QuestionsObj.QuestionsList.Add(question); QuestionsObj.CurrentNumberQuestion = CurrentNumberQuestion; EUpdateInfo?.Invoke(); }
/// <summary> /// Удаляет текущий вопрос из списка /// </summary> public void RemovQuestion() { QuestionsObj.QuestionsList.RemoveAt(QuestionsObj.CurrentNumberQuestion); if (QuestionsObj.QuestionsList.Count == 0) { AddQuestion(new Question()); QuestionsObj.CurrentNumberQuestion = 0; } else { QuestionsObj.CurrentNumberQuestion = QuestionsObj.QuestionsList.Count - 1; } EUpdateInfo?.Invoke(); }
/// <summary> /// Создает структуру из загруженного файла /// </summary> /// <param name="fileName"></param> /// <returns>Если произошла ошибка то возвращает её сообщение, иначе пустую строку</returns> public string LoadQuestions(string fileName) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(Questions)); StreamReader streamReader = new StreamReader(fileName); try { QuestionsObj = (Questions)xmlSerializer.Deserialize(streamReader); } catch (Exception ex) { streamReader.Close(); return(ex.Message); } streamReader.Close(); QuestionsObj.CurrentNumberQuestion = 0; EUpdateInfo?.Invoke(); return(""); }
/// <summary> /// Вставить вопрос в список вопросов на /// позицию текущего вопроса. /// используется после редактирования вопроса /// </summary> /// <param name="question"></param> public void InsertQuestion(Question question) { QuestionsObj.QuestionsList[QuestionsObj.CurrentNumberQuestion] = question; EUpdateInfo?.Invoke(); }
/// <summary> /// Пеерключает на предыдущий вопрос /// </summary> public void PreviousQuestion() { QuestionsObj.CurrentNumberQuestion = QuestionsObj.CurrentNumberQuestion == 0 ? 0 : QuestionsObj.CurrentNumberQuestion - 1; EUpdateInfo?.Invoke(); }
/// <summary> /// Переключает на следующий вопрос /// </summary> public void NextQuestion() { QuestionsObj.CurrentNumberQuestion = QuestionsObj.QuestionsList.Count - 1 == QuestionsObj.CurrentNumberQuestion ? QuestionsObj.CurrentNumberQuestion : QuestionsObj.CurrentNumberQuestion + 1; EUpdateInfo?.Invoke(); }
public TruthOrLie() { QuestionsObj.QuestionsList = new List <Question>(); AddQuestion(new Question()); EUpdateInfo?.Invoke(); }