protected void NextQuestionBtn_Click(object sender, EventArgs e) { int crrQuestionNum = (int) ViewState["CurrentQuestionNumber"]; TestService testService = new TestService(_db); QuestionService questionService = new QuestionService(_db); TestReportService testReportService = new TestReportService(); Test ts = Session["Test"] as Test; Question q = null; if (ts!= null) { ClearAllOptions(); q = testService.FindQuestionInTestByIndex(ts.Id, crrQuestionNum); if (q != null) { QuestionText.Text = q.Description; NextQuestionBtn.Text = testService.IsLastQuestionInTest(q, ts) ? "Finish Test" : "Next"; string type = questionService.GetQuestionType(q); IRuleAction rule = ruleActions.FirstOrDefault(r => r.IsValidated(type)); rule.Action.Invoke(); } else { QuestionText.Text = ""; NextQuestionBtn.Visible = false; SubmitTestBtn.Visible = true; } } crrQuestionNum++; ViewState["CurrentQuestionNumber"] = crrQuestionNum; }
// Model binding method to get List of QuestionOption entries // USAGE: <asp:ListView SelectMethod="GetData"> public IQueryable<Authorization_App.Model.QuestionOption> GetData() { int questionId = (int) Session["questionId"]; QuestionService questionService = new QuestionService(_db); return questionService.GetOptionsForQuestion(questionId); //return _db.QuestionOption.Include(m => m.Question); }
public void AddQuestionToTest(int questionId, int testId, DbContext dbCtx) { QuestionService qservice= new QuestionService(dbCtx); TestService tservice = new TestService(dbCtx); Question q = qservice.Find(questionId); Test t = tservice.Find(testId); t.Questions.Add(q); q.TestsList.Add(t); qservice.QuestionManager.Update(q); tservice.TestManager.Update(t); }
// This is the Delete methd to delete the selected Question item // USAGE: <asp:FormView DeleteMethod="DeleteItem"> public void DeleteItem(int Id) { //using (_db) //{ // var item = _db.Question.Find(Id); // if (item != null) // { // _db.Question.Remove(item); // _db.SaveChanges(); // } //} QuestionService questionService = new QuestionService(_db); questionService.Delete(Id); Response.Redirect("../Default"); }
public bool isAdded(string questionId) { Authorization_App.DataAccess.ApplicationDbContext _dbCtx = new Authorization_App.DataAccess.ApplicationDbContext(); using (_dbCtx) { int qId = 0; Int32.TryParse(questionId, out qId); IList<string> segments = null; int testId = 0; if (Request != null) { segments = Request.GetFriendlyUrlSegments(); Int32.TryParse(segments[0], out testId); } QuestionService questionService = new QuestionService(_dbCtx); bool res = questionService.isAdded(qId, testId); _dbCtx.Dispose(); return res; } }
// This is the Insert method to insert the entered QuestionOption item // USAGE: <asp:FormView InsertMethod="InsertItem"> public void InsertItem() { using (_db) { var item = new Authorization_App.Model.QuestionOption(); int questionId = (int) Session["questionId"]; QuestionService questionService = new QuestionService(_db); questionService.AddOptionToQuestion(questionId, item); TryUpdateModel(item); if (ModelState.IsValid) { // Save changes _db.QuestionOption.Add(item); _db.SaveChanges(); Response.Redirect("Default"); } } }
private void DisplayTextOption() { int crrQuestionNum = (int) ViewState["CurrentQuestionNumber"]; TestService testService = new TestService(_db); QuestionService questionService = new QuestionService(_db); Test ts = Session["Test"] as Test; Question q = testService.FindQuestionInTestByIndex(ts.Id, crrQuestionNum); TextBoxAnswer.Visible = true; }
private void DisplayRadioBoxOptions() { int crrQuestionNum = (int) ViewState["CurrentQuestionNumber"]; TestService testService = new TestService(_db); QuestionService questionService = new QuestionService(_db); Test ts = Session["Test"] as Test; Question q = testService.FindQuestionInTestByIndex(ts.Id, crrQuestionNum); RadioButtonListAnswer.Visible = true; List<string> optionsContent = new List<string>(); foreach(QuestionOption qo in q.QuestionOption) { optionsContent.Add(qo.Content); } RadioButtonListAnswer.DataSource = optionsContent; RadioButtonListAnswer.DataBind(); }