/// <summary> /// Return the Question object and his Answer Options by question ID. /// </summary> /// <param name="questionID">int questionID</param> /// <returns>Question</returns> /// <exception cref="AppControlException">AppControlException</exception> public Question getQuestionAndAnswersByIQuestionID(int questionID) { try { QuestionOrderDAO questionOrderDAO = new QuestionOrderDAO(); QuestionDAO questionDAO = new QuestionDAO(); //Get the Question record by questionId. Question question = questionDAO.getQuestionById(questionID); //Get the Answer Options from the Question. question.AnswerOptionsList = this.getListOfQuestionAnswerOptionByQuestionId(questionID); return(question); } catch (AppDAOException ex) { //Error log simulated Console.WriteLine(ex.ToString()); Console.WriteLine(ex.GetBaseException().ToString()); throw new AppControlException(ex.Message); } catch (Exception ex) { //Error log simulated Console.WriteLine(ex.ToString()); Console.WriteLine(ex.GetBaseException().ToString()); throw; } }
/// <summary> /// Return the next Question object and his Answer Options based on the actual question sequence. /// Get the next questionId from Question Order after the question sequence provided. /// </summary> /// <param name="sessionCurrentQuestionSequence">int sessionCurrentQuestionSequence</param> /// <returns>Question</returns> /// <exception cref="AppControlException">AppControlException</exception> public Question getNextQuestionBySequence(int currentQuestionSequence) { try { QuestionOrderDAO questionOrderDAO = new QuestionOrderDAO(); //Get the next questionId from Question Order after the question sequence provided. QuestionOrder nextQuestionOrder = questionOrderDAO.getNextQuestionOrder(currentQuestionSequence); QuestionDAO questionDAO = new QuestionDAO(); //Get the Question record by questionId. Question nextQuestion = getQuestionAndAnswersByIQuestionID(nextQuestionOrder.SurveyQuestionId); nextQuestion.QuestionSequence = nextQuestionOrder.QuestionOrderSequence; return(nextQuestion); } catch (AppDAOException ex) { //Error log simulated Console.WriteLine(ex.ToString()); Console.WriteLine(ex.GetBaseException().ToString()); throw new AppControlException(ex.Message); } catch (Exception ex) { //Error log simulated Console.WriteLine(ex.ToString()); Console.WriteLine(ex.GetBaseException().ToString()); throw; } }