Пример #1
0
        public IEnumerable <MultichoiceQuestion> GetAllMultichoiceQuestionFromSurvey(int id)
        {
            IEnumerable <Survey_MultichoiceQuestion> smList = _smr.GetAllMultichoiceQuestionFromSurvey(id);
            var list = _mr.GetAllMultichoiceQuestionWithId(smList);

            return(list);
        }
Пример #2
0
        public List <ViewAnswersModel> GetAllAnswersFromSurvey(int id)
        {
            List <Chapter> chapterList  = new List <Chapter>();
            var            chapterfree  = _sfr.GetChapter(id);
            var            chaptermulti = _smr.GetAllMultichoiceQuestionFromSurvey(id);

            foreach (var item in chapterfree)
            {
                var chapter = _cr.Get(item.ChapterID);
                if (!chapterList.Contains(chapter))
                {
                    chapterList.Add(chapter);
                }
            }
            foreach (var item in chaptermulti)
            {
                var chapter = _cr.Get(item.ChapterID);
                if (!chapterList.Contains(chapter))
                {
                    chapterList.Add(chapter);
                }
            }

            List <ViewAnswersModel> viewAnswers = new List <ViewAnswersModel>();

            foreach (var item in chapterList)
            {
                List <ViewAllAnswers> viewAllAnswers = new List <ViewAllAnswers>();
                var chapterfreetext    = _sfr.GetAllFreetextQuestionFromChapterID(item, id);
                var chaptermultichoice = _smr.GetAllMultiQuestionFromChapterID(item, id);
                foreach (var items in chapterfreetext)
                {
                    var            freeTextQuestion = _ftr.Get(items.FreetextQuestionID);
                    var            freeTextAnswer   = _ftar.GetFreeTextAnswerFromQuestion(items.FreetextQuestionID);
                    ViewAllAnswers answer           = new ViewAllAnswers
                    {
                        ID             = freeTextQuestion.ID,
                        Question       = freeTextQuestion.Question,
                        Order          = items.Order,
                        FreeTextAnswer = freeTextAnswer
                    };
                    viewAllAnswers.Add(answer);
                }

                foreach (var items in chaptermultichoice)
                {
                    var multichoice   = _mr.Get(items.MultichoiceQuestionID);
                    var optionsAnswer = GetOptions(multichoice.ID);

                    Dictionary <string, int> optionsAnswersWithCount = new Dictionary <string, int>();

                    foreach (var option in optionsAnswer.GroupBy(o => o.Option)
                             .Select(group => new
                    {
                        Option = group.Key,
                        Count = group.Count()
                    })
                             .OrderBy(x => x.Option))
                    {
                        optionsAnswersWithCount.Add(option.Option, option.Count);
                    }

                    var optionsDictionaryToList = optionsAnswersWithCount.ToList();

                    ViewAllAnswers answer = new ViewAllAnswers
                    {
                        ID       = multichoice.ID,
                        Question = multichoice.Question,
                        Order    = items.Order,
                        OptionsAnswersWithCount = optionsDictionaryToList
                    };
                    viewAllAnswers.Add(answer);
                }
                var answers = viewAllAnswers.OrderBy(x => x.Order).ToList();
                ViewAnswersModel allAnswers = new ViewAnswersModel
                {
                    ChapterID  = item.ID,
                    Title      = item.Title,
                    AllAnswers = answers
                };
                viewAnswers.Add(allAnswers);
            }
            return(viewAnswers);
        }
 public IEnumerable <Survey_MultichoiceQuestion> GetAllMultichoiceQuestionFromSurvey(int id)
 {
     return(_smr.GetAllMultichoiceQuestionFromSurvey(id));
 }