protected qLrn_QuestionElement AddNewQuestionElement(int question_id, string details, bool is_correct) { var new_question_element = new qLrn_QuestionElement(); new_question_element.QuestionID = question_id; new_question_element.Details = details; new_question_element.Correct = is_correct; new_question_element.AddQuestionElement(); return new_question_element; }
protected void btn_save_question_OnClick(object sender, EventArgs args) { if (QuestionID > 0) { var question = new qLrn_Question(QuestionID); question.Text = txt_new_question.Text; question.AnswerText = txt_answer.Text; question.Created = DateTime.Now; question.CreatedBy = Convert.ToInt32(Context.Items["UserID"]); question.LastModified = DateTime.Now; question.LastModifiedBy = Convert.ToInt32(Context.Items["UserID"]); int question_category_id = GetNewQuestionCategoryID(); if (question_category_id > 0) question.QuestionCategoryID = question_category_id; question.Update(); foreach (var c in ph_question_elements.Controls) { var element_control = c as IQuestionElementEditControl; if (element_control != null) { int question_element_id = element_control.GetQuestionElementId (); if (question_element_id > 0) { var e = new qLrn_QuestionElement(question_element_id); if (string.IsNullOrEmpty (element_control.GetDetails ())) { e.MarkAsDelete = 1; } else { e.Details = element_control.GetDetails (); e.Correct = element_control.IsCorrect (); e.AnswerOrder = element_control.GetOrderNumber(); } e.Update (); } else { if (!string.IsNullOrEmpty (element_control.GetDetails ())) { var e = AddNewQuestionElement (question.QuestionID, element_control.GetDetails (), element_control.IsCorrect ()); element_control.SetQuestionElementId(e.QuestionElementID); } } } } Response.Redirect("question-editor.aspx?mode=edit&questionID=" + question.QuestionID); } else { var question = new qLrn_Question(); question.Text = txt_new_question.Text; question.AnswerText = txt_answer.Text; question.Available = "Yes"; question.Created = DateTime.Now; question.CreatedBy = Convert.ToInt32(Context.Items["UserID"]); int question_category_id = GetNewQuestionCategoryID(); if (question_category_id > 0) question.QuestionCategoryID = question_category_id; QuestionID = question.AddQuestion(); foreach (var c in ph_question_elements.Controls) { var element_control = c as IQuestionElementEditControl; if (element_control != null) { string element_details = element_control.GetDetails(); if (!string.IsNullOrEmpty(element_details)) { var e = AddNewQuestionElement(question.QuestionID, element_details, element_control.IsCorrect()); element_control.SetQuestionElementId(e.QuestionElementID); } } } /* updateQuestionForm("edit"); UpdateQuestionsList(); ddl_questions.SelectedValue = Convert.ToString(question.QuestionID); EnableQuestionRemoval(); */ Response.Redirect("question-editor.aspx?mode=edit&questionID=" + question.QuestionID); } MessageLog("SUCCESS: Question saved."); }