public ActionResult Index(int id = 1)
        {
            AnswerListViewModel viewModel;
            if (this.HttpContext.Cache["Answer page_" + id] != null)
            {
                viewModel = (AnswerListViewModel)this.HttpContext.Cache["Answer page_" + id];
            }
            else
            {
                var page = id;
                var allItemsCount = this.answers.All().Count();
                var totalPages = (int)Math.Ceiling(allItemsCount / (decimal)ItemsPerPage);
                var itemsToSkip = (page - 1) * ItemsPerPage;
                var Answers = this.answers.All()
                    .OrderBy(x => x.CreatedOn)
                    .ThenBy(x => x.Id)
                    .Skip(itemsToSkip)
                    .Take(ItemsPerPage)
                    .To<AnswerViewModel>().ToList();

                viewModel = new AnswerListViewModel()
                {
                    CurrentPage = page,
                    TotalPages = totalPages,
                    Answers = Answers
                };

                this.HttpContext.Cache["Answer page_" + id] = viewModel;
            }

            return this.View(viewModel);
        }
Ejemplo n.º 2
0
        public ActionResult QuestionAnswer(int surveyId, int questionId)
        {
            AnswerListViewModel model = new AnswerListViewModel()
            {
                QuestionOptions = _questionOptionService.GetByQuestionId(questionId),
                Question        = _questionService.GetById(questionId),
            };

            return(View(model));
        }
Ejemplo n.º 3
0
        public ActionResult QuestionAnswer(AnswerListViewModel answerListViewModel)
        {
            var personId = HttpContext.Session.GetInt32("personId");

            answerListViewModel.Answer.SurveyId   = answerListViewModel.Question.SurveyId;
            answerListViewModel.Answer.QuestionId = answerListViewModel.Question.Id;
            answerListViewModel.Answer.UserId     = (int)personId; //personId !!
            answerListViewModel.QuestionOptions   =
                _questionOptionService.GetByQuestionId(answerListViewModel.Question.Id);
            _answerService.Add(answerListViewModel.Answer);

            TempData["_QuestionAnswer"] = 1;
            return(View(answerListViewModel));
        }
        public async Task <AnswerListViewModel> GetAllAnswer(int id)
        {
            try
            {
                var model = new AnswerListViewModel()
                {
                    Answers = _mapper.Map <List <AnswerViewModel> >(_context.Answer.Where(e => e.QuestionId == id).Include(e => e.Question))
                };

                return(model);
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }
        public async Task <AnswerListViewModel> GetAllAnswers()
        {
            try
            {
                var model = new AnswerListViewModel()
                {
                    Answers = _mapper.Map <List <AnswerViewModel> >(_context.Answer)
                };

                return(model);
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }
Ejemplo n.º 6
0
        public ActionResult Surveys(AnswerListViewModel answerListViewModel, int page = 1, int surveyId = 0)
        {
            var personId = HttpContext.Session.GetInt32("personId");

            int pageSize              = 10;
            var questions             = _questionService.GetBySurveyId(surveyId);
            var questionOptions       = _questionOptionService.GetAll();
            var answers               = _answerService.GetBySurveyAndUserId(surveyId, (int)personId);//personId!!
            AnswerListViewModel model = new AnswerListViewModel
            {
                Questions       = questions.Skip((page - 1) * pageSize).Take(pageSize).ToList(),
                QuestionOptions = questionOptions,
                Answers         = answers
            };

            return(View(model));
        }
        public ViewResult RequestInfo(int requestID, string currentTrackID)
        {
            var answers = request.Answers.Where(a => a.requestID == requestID);
            IEnumerable <Models.Attachment> attachments       = request.Attachments.Where(a => a.requestID == requestID);
            IEnumerable <Staff>             staff             = request.Staffs;
            IEnumerable <RequestAssignment> requestAssignment = request.RequestAssignments.Where(r => r.requestID == requestID);

            List <AnswerListViewModel> myAnswerList = new List <AnswerListViewModel>();


            foreach (var answer in answers)
            {
                var question = request.Questions.FirstOrDefault(q => q.questionID == answer.QuestionID);

                if (question != null)
                {
                    AnswerListViewModel list = new AnswerListViewModel
                    {
                        answer   = answer,
                        question = question.Question1
                    };

                    myAnswerList.Add(list);
                }
            }

            var currentRequst = request.Requests.FirstOrDefault(r => r.reuqestID == requestID);

            RequestInfoViewModel requestList = new RequestInfoViewModel
            {
                answerList  = myAnswerList,
                attachment  = attachments,
                request     = currentRequst,
                staff       = staff,
                assignments = requestAssignment,
                category    = request.Categories.FirstOrDefault(c => c.categoryID == currentRequst.categoryID),
                cateogires  = request.Categories,
                location    = request.Locations
            };

            return(View(requestList));
        }
Ejemplo n.º 8
0
        public IActionResult SurveyDetail(Guid guid)
        {
            using (_dbContext)
            {
                var response = ResponseModelFactory.CreateResultInstance;

                var query = _dbContext.Survey.FirstOrDefault(x => x.SurveyUuid == guid);
                if (query == null)
                {
                    response.SetFailed("获取问卷失败");
                }
                SurveyDetail entity = new SurveyDetail();
                entity.SurveyUuid           = query.SurveyUuid;
                entity.Headline             = query.Headline;
                entity.Type                 = query.Type;
                entity.SurveyQuestionDetail = new List <SurveyQuestionDetail>();

                var answer = _dbContext.SurveyAnswer.Where(x => x.SurveyUuid == query.SurveyUuid).Select(x => x.AnswerStr).ToList();

                List <AnswerStatisticModel> AnswerStatistic = new List <AnswerStatisticModel>();

                foreach (var item in answer)
                {
                    AnswerStatisticModel       Statistic  = new AnswerStatisticModel();
                    string[]                   itemstr    = item.Split("||");
                    List <AnswerListViewModel> answerlist = new List <AnswerListViewModel>();
                    for (int i = 0; i < itemstr.Length; i++)
                    {
                        AnswerListViewModel answercontent = new AnswerListViewModel();
                        answercontent.Content  = itemstr[i];
                        answercontent.Multiple = new List <string>(itemstr[i].Split(','));
                        answerlist.Add(answercontent);
                    }
                    Statistic.answerlist = answerlist;
                    AnswerStatistic.Add(Statistic);
                }


                var question = _dbContext.SurveyQuestions.Where(x => x.SurveyUuid == query.SurveyUuid && x.IsDelete == 0).OrderBy(x => x.Id);
                int index    = 0;
                foreach (var item in question)
                {
                    SurveyQuestionDetail questiondetail = new SurveyQuestionDetail();
                    questiondetail.QuestionTitle            = item.QuestionTitle;
                    questiondetail.IsMuti                   = item.IsMuti;
                    questiondetail.QuestionType             = item.QuestionType;
                    questiondetail.SurveyQuestionItemDetail = new List <SurveyQuestionItemDetail>();
                    //选择题
                    if (item.QuestionType == 0)
                    {
                        var questionitem = _dbContext.SurveyQuestionsItems.Where(x => x.SurveyQuestionsUuid == item.SurveyQuestionsUuid && x.IsDelete == 0).OrderBy(x => x.Id);

                        foreach (var item1 in questionitem)
                        {
                            SurveyQuestionItemDetail questionitemdetail = new SurveyQuestionItemDetail();
                            questionitemdetail.Optionts    = item1.Optionts;
                            questionitemdetail.QuestionStr = item1.QuestionStr;
                            questionitemdetail.checkbox    = false;
                            questionitemdetail.disabled    = false;

                            int chosenum = 0;
                            //单选
                            if (item.IsMuti == 0)
                            {
                                for (int j = 0; j < AnswerStatistic.Count; j++)
                                {
                                    if (AnswerStatistic[j].answerlist[index].Content == item1.Optionts)
                                    {
                                        chosenum++;
                                    }
                                }
                            }
                            //多选
                            else if (item.IsMuti == 1)
                            {
                                for (int j = 0; j < AnswerStatistic.Count; j++)
                                {
                                    if (AnswerStatistic[j].answerlist[index].Multiple.Contains(item1.Optionts))
                                    {
                                        chosenum++;
                                    }
                                }
                            }
                            questionitemdetail.num = chosenum;

                            questiondetail.SurveyQuestionItemDetail.Add(questionitemdetail);
                        }
                    }
                    //主观题
                    else if (item.QuestionType == 1)
                    {
                        string str = "";
                        for (int j = 0; j < AnswerStatistic.Count; j++)
                        {
                            if (AnswerStatistic[j].answerlist[index].Content != "")
                            {
                                str += AnswerStatistic[j].answerlist[index].Content + " ";
                            }
                        }
                        questiondetail.SubText = str;
                    }
                    entity.SurveyQuestionDetail.Add(questiondetail);
                    index++;
                }
                response.SetData(entity);
                return(Ok(response));
            }
        }