public IActionResult InsertDataP3(TestListingModel tmodel) { if (tmodel.Answers != null) { // -d HACK: delete the pre-loaded entries for this sessionId. ANSWER == 0 _answers.DeleteAllBySessionId(TempData["SessionId"].ToString()); //add to Survey table for (int i = 1; i <= tmodel.Answers.Count(); i++) { var question = _questions.Get(tmodel.Answers[i - 1].QMaster.Id); var newSurvey = new Survey { SessionId = TempData["SessionId"].ToString(), QMaster = question, Answer = tmodel.Answers[i - 1].Answer }; _answers.Add(newSurvey); } } TempData.Keep(); return(RedirectToAction("Index4", "Tests")); }
public IActionResult Index3() { var sessionId = TempData["SessionId"].ToString(); var questionModel = _questions.GetAllByLevel(2); var q = questionModel.Select(q => new QuestionListingModel { Id = q.Id, Level = q.Level, Order = q.Order, Question = q.Question }).ToList(); // THIS IS A HACK ?? // pre-load the survey (answer) model... foreach (var row in q) { var question = _questions.Get(row.Id); var newRow = new Survey { SessionId = sessionId, QMaster = question, Answer = 0 }; _answers.Add(newRow); } // load model for UI ... this was just populated above var answerModel = _answers.GetAllBySessionId(sessionId); var a = answerModel.Select(a => new SurveyListingModel { Id = a.Id, SessionId = a.SessionId, QMaster = a.QMaster, Answer = a.Answer }).ToList(); var answerOptions = _answerOptions.GetAllByKey(4); var ao = answerOptions.Select(a => new AnswerListingModel { Id = a.Id, Key = a.Key, Val = a.Val, Answer = a.Answer }).ToList(); var model = new TestListingModel { Questions = q, Answers = a, AnswerOptions = ao }; TempData.Keep(); return(View(model)); }
public IActionResult Index() { // seed 'Results' db if no data exists //var result1 = _seedService.SeedSurveyMaster(10); //craate 10 surveys //var result2 = _seedService.SeedAnswerGroup(5); //create 5 groups of answers ... each containing x options //var result3 = _seedService.SeedResult(); var sessionId = string.Empty; if (TempData["SessionId"] == null) { sessionId = Guid.NewGuid().ToString(); // store the session ID in TempData TempData["SessionId"] = sessionId; } var questionModel = _questions.GetAllByLevel(1); var q = questionModel.Select(q => new QuestionListingModel { Id = q.Id, Level = q.Level, Order = q.Order, Question = q.Question }).ToList(); // THIS IS A HACK ?? // pre-load the survey (answer) model... foreach (var row in q) { var question = _questions.Get(row.Id); var newRow = new Survey { SessionId = sessionId, QMaster = question, Answer = 0 }; _answers.Add(newRow); } // load model for UI ... this was just populated above var answerModel = _answers.GetAllBySessionId(sessionId); var a = answerModel.Select(a => new SurveyListingModel { Id = a.Id, SessionId = a.SessionId, QMaster = a.QMaster, Answer = a.Answer }).ToList(); var answerOptions = _answerOptions.GetAllByKey(1); var ao = answerOptions.Select(a => new AnswerListingModel { Id = a.Id, Key = a.Key, Val = a.Val, Answer = a.Answer }).ToList(); var model = new TestListingModel { Questions = q, Answers = a, AnswerOptions = ao }; TempData.Keep(); return(View(model)); }