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); }
public ActionResult QuestionAnswer(int surveyId, int questionId) { AnswerListViewModel model = new AnswerListViewModel() { QuestionOptions = _questionOptionService.GetByQuestionId(questionId), Question = _questionService.GetById(questionId), }; return(View(model)); }
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; } }
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)); }
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)); } }