コード例 #1
0
        public async Task <IActionResult> Edit([FromQuery] int surveyId)
        {
            var surveyModel = await _surveyService.GetSurveyById(surveyId);

            if (surveyModel != null)
            {
                var viewModel = surveyModel.ToViewModel();

                return(View(viewModel));
            }

            return(View("Create"));
        }
コード例 #2
0
        public async Task <IActionResult> Start([FromRoute] int surveyId)
        {
            var surveyModel = await _surveyService.GetSurveyById(surveyId);

            if (surveyModel != null)
            {
                var viewModel = surveyModel.ToViewModel();

                return(View(viewModel));
            }

            return(NotFound());
        }
コード例 #3
0
        public IActionResult Edit(int id)
        {
            Survey this_survey          = _surveyService.GetSurveyById(id);
            SurveyCreateViewModel model = new SurveyCreateViewModel()
            {
                SurveyName      = this_survey.SurveyName,
                NumberQuestions = this_survey.NumberQuestions,
                SampleSize      = this_survey.SampleSize,
                Status          = this_survey.Status
            };

            return(View(model));
        }
コード例 #4
0
        // GET: TakeSurvey
        public ActionResult TakeSurvey(int userSurveyId)
        {
            QuestionService _questionService = new QuestionService();
            SurveyService   _surveyService   = new SurveyService();

            if (userSurveyId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserSurvey            userSurvey      = _surveyService.GetUserSurveyById(userSurveyId);
            Survey                survey          = _surveyService.GetSurveyById(userSurvey.SurveyId);
            List <Question>       questions       = _questionService.GetQuestionsBySurveyId(survey.SurveyId);
            List <QuestionDetail> questionDetails = questions.Select(x => new QuestionDetail()
            {
                QuestionText       = x.QuestionText,
                QuestionId         = x.QuestionId,
                QuestionType       = Enum.GetName(typeof(QuestionType), x.QuestionType),
                QuestionChoiceText = _questionService.GetQuestionChoicesByQuestionId(x.QuestionId)
                                     .Select(y => new QuestionChoiceDetails()
                {
                    QuestionChoiceText  = y.QuestionChoiceText,
                    QuestionChoiceValue = y.QuestionChoiceValue,
                    QuestionChoiceId    = y.QuestionChoiceId
                }).ToList()
            }).ToList();

            SurveyDetail surveyDetail = new SurveyDetail()
            {
                SurveyTitle       = survey.SurveyTitle,
                SurveyDescription = survey.SurveyDescription,
                StartDate         = survey.StartDate,
                EndDate           = survey.EndDate,
                SurveyQuestions   = questionDetails,
                SurveyId          = survey.SurveyId,
                UserSurveyId      = userSurvey.UserSurveyId
            };

            if (survey == null)
            {
                return(HttpNotFound());
            }
            return(View(surveyDetail));
            //return View();
        }
コード例 #5
0
        // GET: MyOpenSurveys
        public ActionResult MyOpenSurveys()
        {
            SurveyService surveyService = new SurveyService();
            var           userId        = User.Identity.GetUserId();

            var userSurveys             = surveyService.GetOpenSurveysByUserId(userId);
            List <UserSurveyInfo> model = new List <UserSurveyInfo>();

            foreach (var userSurvey in userSurveys)
            {
                var survey = surveyService.GetSurveyById(userSurvey.SurveyId);
                model.Add(new UserSurveyInfo
                {
                    UserSurveyId      = userSurvey.UserSurveyId,
                    SurveyId          = survey.SurveyId,
                    SurveyDescription = survey.SurveyDescription,
                    SurveyTitle       = survey.SurveyTitle
                });
            }

            return(View(model));
        }
コード例 #6
0
        public ActionResult UserSurveyCompletedDetails(int userSurveyId)
        {
            QuestionService _questionService = new QuestionService();
            SurveyService   _surveyService   = new SurveyService();

            if (userSurveyId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserSurvey        userSurvey  = _surveyService.GetUserSurveyById(userSurveyId);
            Survey            survey      = _surveyService.GetSurveyById(userSurvey.SurveyId);
            List <UserAnswer> userAnswers = _surveyService.GetUserAnswersByUserSurveyId(userSurveyId);
            //List<Question> questions = _questionService.GetQuestionsBySurveyId(survey.SurveyId);
            List <QuestionDetail> questionDetails = new List <QuestionDetail>();

            foreach (var answer in userAnswers)
            {
                var questionChoice = _questionService.GetQuestionChoiceById(answer.QuestionChoiceId);
                var question       = _questionService.GetQuestionById(questionChoice.QuestionId);
                List <QuestionChoiceDetails> questionChoiceDetails = new List <QuestionChoiceDetails>();
                questionChoiceDetails.Add(new QuestionChoiceDetails
                {
                    QuestionChoiceText  = questionChoice.QuestionChoiceText,
                    QuestionChoiceValue = questionChoice.QuestionChoiceValue,
                    QuestionChoiceId    = questionChoice.QuestionChoiceId
                });


                questionDetails.Add(new QuestionDetail
                {
                    QuestionText       = question.QuestionText,
                    QuestionId         = question.QuestionId,
                    QuestionType       = Enum.GetName(typeof(QuestionType), question.QuestionType),
                    QuestionChoiceText = questionChoiceDetails
                });
            }


            //List<QuestionDetail> questionDetails = userAnswers.Select(x => new QuestionDetail()
            //{
            //    QuestionText = x.QuestionChoice.Question.QuestionText,
            //    QuestionId = x.QuestionChoice.QuestionId,
            //    QuestionType = Enum.GetName(typeof(QuestionType), x.QuestionChoice.Question.QuestionType),
            //    QuestionChoiceText = new List<QuestionChoiceDetails>() { new QuestionChoiceDetails
            //    {
            //        QuestionChoiceText = x.QuestionChoice.QuestionChoiceText,
            //        QuestionChoiceValue = x.QuestionChoice.QuestionChoiceValue,
            //        QuestionChoiceId = x.QuestionChoiceId
            //    }}

            //    //_questionService.GetQuestionChoiceById()
            //    //                                        .Select(y => new QuestionChoiceDetails()
            //    //                                        {
            //    //                                            QuestionChoiceText = y.QuestionChoiceText,
            //    //                                            QuestionChoiceValue = y.QuestionChoiceValue,
            //    //                                            QuestionChoiceId = y.QuestionChoiceId
            //    //                                        }).ToList()
            //}).ToList();

            SurveyDetail surveyDetail = new SurveyDetail()
            {
                SurveyTitle       = survey.SurveyTitle,
                SurveyDescription = survey.SurveyDescription,
                StartDate         = survey.StartDate,
                EndDate           = survey.EndDate,
                SurveyQuestions   = questionDetails,
                SurveyId          = survey.SurveyId,
                UserSurveyId      = userSurvey.UserSurveyId
            };

            if (survey == null)
            {
                return(HttpNotFound());
            }
            return(View(surveyDetail));
        }