private ReviewerFromQuestionModel CreateReviewerFromQuestionModelQandA(IQuestion actualQuestion, Test test) { ReviewerFromQuestionModel reviewer = null; QandAQuestion qaQuestion = actualQuestion as QandAQuestion; if (qaQuestion != null) { reviewer = new ReviewerFromQuestionModel() { QuestionId = actualQuestion.Id, Question = qaQuestion.Question, Title = qaQuestion.Title, TextContent = qaQuestion.TextContent, AddContentType = qaQuestion.AddContentType, ImageUrl = qaQuestion.ImageUrl, DrawingContent = qaQuestion.DrawingContent, ExternalUrl = qaQuestion.ExternalUrl, Answers = new List <ReviewerQuestionAnswer>() }; foreach (var item in qaQuestion.Answers) { var answer = new ReviewerQuestionAnswer { Answer = item.Answer }; reviewer.Answers.Add(answer); } } return(reviewer); }
private ReviewerFromQuestionModel CreateReviewerFromQuestionModel(QuestionTypeEnum type, IQuestion actualQuestion, Test test) { ReviewerFromQuestionModel reviewer = null; switch (type) { case QuestionTypeEnum.BuiltIn: break; case QuestionTypeEnum.QandA: reviewer = CreateReviewerFromQuestionModelQandA(actualQuestion, test); break; case QuestionTypeEnum.MultipleChoice: reviewer = CreateReviewerFromQuestionModelMultiChoice(actualQuestion, test); break; case QuestionTypeEnum.MultiChoiceSame: reviewer = CreateReviewerFromQuestionModelMultiChoiceSame(actualQuestion, test); break; default: break; } return(reviewer); }
public IList <ReviewerFromQuestionModel> GetReviewerFromTakeTestModel(TakeTestModel tTest) { try { var list = new List <ReviewerFromQuestionModel>(); Test test; QuestionViewTypeEnum viewType = tTest.Questions.FirstOrDefault().QuestionViewType; tTest.MapToNew <TakeTestModel, Test>(out test); foreach (var item in test.Questions) { var question = GetQuestionEntity(item, test); ReviewerFromQuestionModel reviewer = null; if (question != null) { reviewer = CreateReviewerFromQuestionModel(item.QuestionType, question, test); if (reviewer != null) { reviewer.QuestionViewType = viewType; list.Add(reviewer); } } } return(list); } catch (Exception) { return(null); } }
public IList <ReviewerFromQuestionModel> GetReviewerFromQuestionList(int testId) { var list = new List <ReviewerFromQuestionModel>(); var test = GetTestEntityWithAnswers(testId); foreach (var item in test.Questions) { if (item.IsFlashCard == false) { continue; } var question = GetQuestionEntity(item, test); ReviewerFromQuestionModel reviewer = null; if (question != null) { reviewer = CreateReviewerFromQuestionModel(item.QuestionType, question, test); if (reviewer != null) { list.Add(reviewer); } } } return(list); }
public IList <ReviewerFromQuestionModel> GetReviewerFromQuestions(int testId) { try { IList <ReviewerFromQuestionModel> list = null; var testEntity = _questionTypeSvc.GetTestEntityWithAnswers(testId); if (testEntity != null) { list = _questionTypeSvc.GetReviewerFromQuestionList(testId); } var test = _uow.Tests.GetAll() .Where(t => t.Id == testId) .Include(t => t.Quizz.Reviewers) .FirstOrDefault(); if (test != null) { var tfcList = _textFlashCardSvc.GetTextFlashCards(test.Quizz.Reviewers.FirstOrDefault().Id); foreach (var item in tfcList) { var reviewer = new ReviewerFromQuestionModel { Question = item.Title, Title = item.Title, TextContent = item.TextContent, AddContentType = item.AddContentType, ImageUrl = item.ImageUrl, DrawingContent = item.DrawingContent, ExternalUrl = item.ExternalUrl, Answers = new List <ReviewerQuestionAnswer>() { new ReviewerQuestionAnswer { Answer = item.Answer } } }; list.Add(reviewer); } } return(list); } catch (Exception ex) { _svcContainer.LoggingSvc.Log(ex); return(null); } }
private ReviewerFromQuestionModel CreateReviewerFromQuestionModelMultiChoiceSame(IQuestion actualQuestion, Test test) { ReviewerFromQuestionModel reviewer = null; MultiChoiceSameQuestion mcsQuestion = actualQuestion as MultiChoiceSameQuestion; if (mcsQuestion != null) { reviewer = new ReviewerFromQuestionModel() { QuestionId = actualQuestion.Id, Question = mcsQuestion.Question, Title = mcsQuestion.Title, TextContent = mcsQuestion.TextContent, AddContentType = mcsQuestion.AddContentType, ImageUrl = mcsQuestion.ImageUrl, DrawingContent = mcsQuestion.DrawingContent, ExternalUrl = mcsQuestion.ExternalUrl, Answers = new List <ReviewerQuestionAnswer>() }; MultiChoiceSameChoiceGroup choiceGroup = test.MultiChoiceSameChoiceGroups.Single(cg => cg.Id == mcsQuestion.ChoiceGroupId); var answers = mcsQuestion.Answers.Split(','); if (choiceGroup != null) { foreach (var item in answers) { int answerId; if (Int32.TryParse(item, out answerId)) { var choice = choiceGroup.Choices.SingleOrDefault(c => c.Id == answerId); if (choice != null) { var answer = new ReviewerQuestionAnswer { Answer = choice.Value }; reviewer.Answers.Add(answer); } } } } } return(reviewer); }
private ReviewerFromQuestionModel CreateReviewerFromQuestionModelMultiChoice(IQuestion actualQuestion, Test test) { ReviewerFromQuestionModel reviewer = null; MultipleChoiceQuestion mcQuestion = actualQuestion as MultipleChoiceQuestion; if (mcQuestion != null) { reviewer = new ReviewerFromQuestionModel() { QuestionId = actualQuestion.Id, Question = mcQuestion.Question, Title = mcQuestion.Title, TextContent = mcQuestion.TextContent, AddContentType = mcQuestion.AddContentType, ImageUrl = mcQuestion.ImageUrl, DrawingContent = mcQuestion.DrawingContent, ExternalUrl = mcQuestion.ExternalUrl, Answers = new List <ReviewerQuestionAnswer>() }; foreach (var item in mcQuestion.Choices) { if (item.IsAnswer == true) { var answer = new ReviewerQuestionAnswer { Answer = item.Value }; reviewer.Answers.Add(answer); } } } return(reviewer); }