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)); }
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)); }
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)); }