コード例 #1
0
 public ActionResult Final(EnjoymentViewModel model)
 {
     if (ModelState.IsValid)
     {
         foreach (OSUAnswer answer in model.Answers)
         {
             db.Answers.Add(answer);
         }
         db.SaveChanges();
         return(RedirectToAction("End", new { id = model.SurveyID }));
     }
     return(View(model));
 }
コード例 #2
0
        public ActionResult Thoughts(int?id)
        {
            OSUSurvey          survey   = db.Surveys.Find(id);
            SettingSet         settings = db.SettingSets.Find(survey.SettingsID);
            EnjoymentViewModel model    = new EnjoymentViewModel();

            List <Question> questions = db.Questions.Where(x => x.QuestionRoundNum == 4 && x.SettingSetID == settings.SettingSetID).OrderBy(x => x.GroupQuestionNumber).ToList();

            List <Question> ouQuestions = questions.Where(x => x.GroupQuestionNumber < 5).ToList();
            List <Question> uoQuestions = questions.Where(x => x.GroupQuestionNumber > 4).ToList();

            List <Question> thoughtsQuestions = new List <Question>();

            int k = random.Next(0, 2);

            if (k == 0)
            {
                thoughtsQuestions.AddRange(ouQuestions);
                thoughtsQuestions.AddRange(uoQuestions);
            }
            else
            {
                thoughtsQuestions.AddRange(uoQuestions);
                thoughtsQuestions.AddRange(ouQuestions);
            }

            List <OSUAnswer> answers = new List <OSUAnswer>();

            foreach (Question question in thoughtsQuestions)
            {
                OSUAnswer answer = new OSUAnswer();
                answer.SurveyID = survey.SurveyID;
                //answer.QuestionRoundNum = 4;
                answer.QuestionID = question.QuestionID;
                answer.SurveyID   = survey.SurveyID;
                answers.Add(answer);
            }

            model.SurveyID  = survey.SurveyID;
            model.Questions = thoughtsQuestions;
            model.Answers   = answers;
            return(View(model));
        }
コード例 #3
0
        public ActionResult Final(int?id)
        {
            OSUSurvey          survey   = db.Surveys.Find(id);
            SettingSet         settings = db.SettingSets.Find(survey.SettingsID);
            EnjoymentViewModel model    = new EnjoymentViewModel();

            List <Question>  questions = db.Questions.Where(x => x.QuestionRoundNum == 5 && x.SettingSetID == settings.SettingSetID).OrderBy(x => x.GroupQuestionNumber).ToList();
            List <OSUAnswer> answers   = new List <OSUAnswer>();

            List <Question> shuffledQuestions = new List <Question>();

            int n = questions.Count();

            while (n >= 1)
            {
                n--;
                int      k        = random.Next(n + 1);
                Question question = questions[k];
                questions.Remove(question);
                shuffledQuestions.Add(question);
            }

            foreach (Question question in shuffledQuestions)
            {
                OSUAnswer answer = new OSUAnswer();
                answer.SurveyID = survey.SurveyID;
                //answer.QuestionRoundNum = 5;
                answer.QuestionID = question.QuestionID;
                answer.SurveyID   = survey.SurveyID;
                answers.Add(answer);
            }

            model.SurveyID  = survey.SurveyID;
            model.Questions = shuffledQuestions;
            model.Answers   = answers;
            return(View(model));
        }