Exemplo n.º 1
0
        /// <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();
        }
Exemplo n.º 2
0
 /// <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();
 }
Exemplo n.º 3
0
        /// <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("");
        }
Exemplo n.º 4
0
 /// <summary>
 /// Вставить вопрос в список вопросов на
 /// позицию текущего вопроса.
 /// используется после редактирования вопроса
 /// </summary>
 /// <param name="question"></param>
 public void InsertQuestion(Question question)
 {
     QuestionsObj.QuestionsList[QuestionsObj.CurrentNumberQuestion] = question;
     EUpdateInfo?.Invoke();
 }
Exemplo n.º 5
0
 /// <summary>
 /// Пеерключает на предыдущий вопрос
 /// </summary>
 public void PreviousQuestion()
 {
     QuestionsObj.CurrentNumberQuestion = QuestionsObj.CurrentNumberQuestion == 0 ? 0 : QuestionsObj.CurrentNumberQuestion - 1;
     EUpdateInfo?.Invoke();
 }
Exemplo n.º 6
0
 /// <summary>
 /// Переключает на следующий вопрос
 /// </summary>
 public void NextQuestion()
 {
     QuestionsObj.CurrentNumberQuestion = QuestionsObj.QuestionsList.Count - 1 == QuestionsObj.CurrentNumberQuestion ?
                                          QuestionsObj.CurrentNumberQuestion : QuestionsObj.CurrentNumberQuestion + 1;
     EUpdateInfo?.Invoke();
 }
Exemplo n.º 7
0
 public TruthOrLie()
 {
     QuestionsObj.QuestionsList = new List <Question>();
     AddQuestion(new Question());
     EUpdateInfo?.Invoke();
 }