public bool SaveAnswer(AnswerPara para, string UserID, DbTrans trans) { bool ret = false; try{ AnswerLinq lnq = new AnswerLinq(); if(para.ID != 0){ lnq.GetDataByPK(para.ID,trans.Trans); } lnq.ANSWER_NAME=para.ANSWER_NAME; lnq.QUESTIONNAIRE_ID=para.QUESTIONNAIRE_ID; lnq.ANSWER_DATE = para.ANSWER_DATE; lnq.SESSION_ID = para.SESSION_ID; if (lnq.ID != 0) { ret = lnq.UpdateByPK(UserID, trans.Trans); } else { ret = lnq.InsertData(UserID, trans.Trans); } if (ret == false) { _err = lnq.ErrorMessage; } else { _answer_id = lnq.ID; } }catch (Exception ex){ _err=ex.Message; } return ret; }
protected void btnSave_Click(object sender, System.EventArgs e) { if (Valid() == true) { bool ret = false; DbTrans trans = new DbTrans(); trans.CreateTransaction(); string LoginName = "SYSTEM"; QuestionnaireENG eng = new QuestionnaireENG(); AnswerPara ans = new AnswerPara(); ans.QUESTIONNAIRE_ID =Convert.ToInt64(txtID.Text); ans.ANSWER_NAME = "System Admin"; ans.ANSWER_DATE = DateTime.Now; ans.SESSION_ID = Session.SessionID; if (eng.SaveAnswer(ans, LoginName, trans) == true) { for (int m = 0; m < gvSection.Rows.Count; m++) { GridView gvQuestion = (GridView)gvSection.Rows[m].Cells[1].FindControl("gvQuestion"); for (int i = 0; i < gvQuestion.Rows.Count; i++) { Label lblQuestionName = (Label)gvQuestion.Rows[i].Cells[2].FindControl("lblQuestionName"); long QuestionID = Convert.ToInt64(gvQuestion.Rows[i].Cells[0].Text); AnswerResultPara Apara = new AnswerResultPara(); //Apara.ANSWER_NAME = //Apara.QUESTIONNAIRE_ID = Convert.ToInt64(txtID.Text); Apara.ANSWER_ID = eng.ANSWER_ID; Apara.QUESTIONNAIRE_QUESTION_ID = QuestionID; Label lblChoiceTypeID = (Label)gvQuestion.Rows[i].Cells[1].FindControl("lblChoiceTypeID"); Label lblQuestionPoint = (Label)gvQuestion.Rows[i].Cells[1].FindControl("lblQuestionPoint"); if (lblChoiceTypeID.Text == "1") { //Section long SectionID = Convert.ToInt64(gvSection.Rows[m].Cells[0].Text); QuestionnaireSectionPara QsPara = eng.GetQuestionnaireSectionPara(SectionID, trans); if (QsPara.SECTION_TYPE_ID == 1) { //แบบหลายตัวเลือก ตอบได้ 1 ข้อ สำหรับส่วนที่ 1 RadioButtonList rdiChoice = (RadioButtonList)gvQuestion.Rows[i].Cells[2].FindControl("rdiChoice"); if (rdiChoice.SelectedValue != "") { QuestionnaireQuestionsChoicePara ctPara = eng.GetQuestionnaireQuestionChoicePara(Convert.ToInt64(rdiChoice.SelectedValue), trans); Apara.CHOICE_TYPE_ID = 1; Apara.RESULT_CHOICE_NAME = rdiChoice.SelectedItem.Text; Apara.POINT = ctPara.POINT; if (ctPara.IS_OTHER == 'Y') { TextBox txtRadioChoice = (TextBox)gvQuestion.Rows[i].Cells[2].FindControl("txtRadioChoice"); Apara.RESULT_CHOICE_NAME = txtRadioChoice.Text; } ret = eng.SaveAnswerResult(Apara, LoginName, trans); } } else if (QsPara.SECTION_TYPE_ID == 2) { //แบบหลายตัวเลือก ตอบได้ 1 ข้อ สำหรับส่วนที่ 2 RadioButtonList rdiSec2Choice = (RadioButtonList)gvQuestion.Rows[i].Cells[3].FindControl("rdiSec2Choice"); if (rdiSec2Choice.SelectedValue != "") { Apara.CHOICE_TYPE_ID = 1; Apara.RESULT_CHOICE_NAME = rdiSec2Choice.SelectedValue; Apara.POINT = Convert.ToDouble(rdiSec2Choice.SelectedValue); ret = eng.SaveAnswerResult(Apara, LoginName, trans); } } } else if (lblChoiceTypeID.Text == "2") { //แบบหลายตัวเลือก ตอบได้มากกว่า 1 ข้อ CheckBoxList chkChoice = (CheckBoxList)gvQuestion.Rows[i].Cells[2].FindControl("chkChoice"); for (int j = 0; j < chkChoice.Items.Count; j++) { if (chkChoice.Items[j].Selected) { Apara.CHOICE_TYPE_ID = 2; Apara.RESULT_CHOICE_NAME = chkChoice.Items[j].Text; QuestionnaireQuestionsChoicePara ctPara = eng.GetQuestionnaireQuestionChoicePara(Convert.ToInt64(chkChoice.Items[j].Value), trans); Apara.POINT = ctPara.POINT; if (ctPara.IS_OTHER == 'Y') { TextBox txtCheckBoxChoice = (TextBox)gvQuestion.Rows[i].Cells[2].FindControl("txtCheckBoxChoice"); Apara.RESULT_CHOICE_NAME = txtCheckBoxChoice.Text; } ret = eng.SaveAnswerResult(Apara, LoginName, trans); } } } else if (lblChoiceTypeID.Text == "3") { //แบบให้ความเห็น ระบุเป็นข้อความ TextBox txtChoice = (TextBox)gvQuestion.Rows[i].Cells[2].FindControl("txtChoice"); Apara.CHOICE_TYPE_ID = 3; Apara.RESULT_CHOICE_NAME = txtChoice.Text; Apara.POINT = Convert.ToInt64(lblQuestionPoint.Text); ret = eng.SaveAnswerResult(Apara, LoginName, trans); } else if (lblChoiceTypeID.Text == "4") { //แบบให้ความเห็น ระบุเป็นตัวเลข TextBox txtChoice = (TextBox)gvQuestion.Rows[i].Cells[2].FindControl("txtChoice"); Apara.CHOICE_TYPE_ID = 4; Apara.RESULT_CHOICE_NAME = txtChoice.Text; Apara.POINT = Convert.ToInt64(lblQuestionPoint.Text); ret = eng.SaveAnswerResult(Apara, LoginName, trans); } if (ret == false) { break; } } } if (ret == true) trans.CommitTransaction(); else { trans.RollbackTransaction(); Config.SetAlert("Error!!!", this); } } else { trans.RollbackTransaction(); Config.SetAlert("Answer Error!!!", this); } } }