/// <summary>
 /// Сохраняет изменения по ответу
 /// </summary>
 /// <param name="answer">ссылка на ответ</param>
 public void SaveOrUpdate(SQLiteConnection conn, UserAnswer answer)
 {
     if (answer.ID == 0)
     {
         int ID = indexService.NextID(TABLE_NAME);
         using (SQLiteCommand insertSQL = new SQLiteCommand("insert into USER_ANSWER (ID, AnswerTitle, User_Answer, RightAnswer, Question_ID) values (@ID, @AnswerTitle, @User_Answer, @RightAnswer, @Question_ID)", conn))
         {
             insertSQL.Parameters.AddWithValue("@AnswerTitle", answer.AnswerTitle);
             insertSQL.Parameters.AddWithValue("@User_Answer", answer.User_Answer);
             insertSQL.Parameters.AddWithValue("@RightAnswer", answer.RightAnswer);
             insertSQL.Parameters.AddWithValue("@Question_ID", answer.Question.ID);
             insertSQL.Parameters.AddWithValue("@ID", ID);
             insertSQL.ExecuteNonQuery();
             answer.ID = ID;
         }
     }
     else
     {
         using (SQLiteCommand insertSQL = new SQLiteCommand("UPDATE USER_ANSWER SET AnswerTitle = @AnswerTitle, RightAnswer = @RightAnswer, User_Answer = @User_Answer, Question_ID = @Question_ID WHERE ID = @ID", conn))
         {
             insertSQL.Parameters.AddWithValue("@AnswerTitle", answer.AnswerTitle);
             insertSQL.Parameters.AddWithValue("@User_Answer", answer.User_Answer);
             insertSQL.Parameters.AddWithValue("@RightAnswer", answer.RightAnswer);
             insertSQL.Parameters.AddWithValue("@Question_ID", answer.Question.ID);
             insertSQL.Parameters.AddWithValue("@ID", answer.ID);
             insertSQL.ExecuteNonQuery();
         }
     }
 }
 public void AddAnswer(UserAnswer answer)
 {
     if (UserAnswers == null)
     {
         UserAnswers = new List<UserAnswer>();
     }
     answer.Question = this;
     UserAnswers.Add(answer);
 }
 /// <summary>
 /// Преобразует в ответ
 /// </summary>
 /// <param name="reader">ответ от запроса</param>
 /// <returns>ответ</returns>
 private UserAnswer ToAnswer(SQLiteDataReader reader)
 {
     UserAnswer answer = new UserAnswer();
     answer.ID = Convert.ToInt32(reader["ID"]);
     answer.AnswerTitle = Convert.ToString(reader["AnswerTitle"]);
     answer.User_Answer = Convert.ToBoolean(reader["User_Answer"]);
     answer.RightAnswer = Convert.ToBoolean(reader["RightAnswer"]);
     answer.Question = new QuestionResult(Convert.ToInt32(reader["Question_ID"]));
     return answer;
 }
 /// <summary>
 /// Проверка на правильный ответ
 /// </summary>
 /// <param name="answers">список ответветов</param>
 public void Test(params bool[] answers)
 {
     if (answers.Length != current.Answers.Count)
     {
         throw new Exception("Количество ответов не соответствует с тестовыми");
     }
     QuestionResult questionResult = new QuestionResult(current.Value);
     for (int i = 0; i < current.Answers.Count; i++)
     {
         UserAnswer answer = new UserAnswer(current.Answers[i].Value, answers[i], current.Answers[i].Right);
         questionResult.AddAnswer(answer);
     }
     userResult.AddQuestion(questionResult);
     IDX++;
 }