示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
            }
        }
示例#6
0
        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);
        }
示例#7
0
        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);
        }