protected void btnAddQuestion_Click(object sender, EventArgs e)
    {
        DbTrans trans = new DbTrans();
        trans.CreateTransaction();
        if (ValidQuestion() == true) {
            if (SaveQuestionnaire(trans) == true){
                QuestionnaireQuestionsPara para = new QuestionnaireQuestionsPara();
                para.ID = Convert.ToInt64(txtQuestionID.Text);
                para.QUESTIONNAIRE_SECTION_ID = Convert.ToInt64(cmbSectionID.SelectedValue);
                para.QUESTION_NAME = txtQuestionName.Text.Trim();
                para.CHOICE_TYPE_ID = Convert.ToInt64(cmbChoiceTypeID.SelectedValue);
                para.QUESTION_POINT = Convert.ToDouble(txtPoint.Text.Trim());
                para.IS_REQUIRE = (chkRequire.Checked ? 'Y' : 'N');

                QuestionnaireENG eng = new QuestionnaireENG();
                bool ret = eng.SaveQuestion(para, trans, Config.GetUserName());
                if (ret == true)
                {
                    if (SaveQuestionChoice(eng.QUESTION_ID, trans) == true)
                    {
                        trans.CommitTransaction();
                        txtQuestionID.Text = eng.QUESTION_ID.ToString();
                        SetQuestionnaireForm(Convert.ToInt64(txtID.Text));
                        ClearQuestionForm();
                        Config.SetAlert("บันทึกข้อมูลเรียบร้อย", this);
                    }
                    else {
                        trans.RollbackTransaction();
                        Config.SetAlert(eng.ErrorMessage, this);
                    }
                }
                else {
                    trans.RollbackTransaction();
                    Config.SetAlert(eng.ErrorMessage, this);
                }
            }
        }
    }
        public bool SaveQuestion(QuestionnaireQuestionsPara para, DbTrans trans, string UserID) {
            bool ret = false;
            QuestionnaireQuestionsLinq lnq = new QuestionnaireQuestionsLinq();
            if (para.ID != 0)
                lnq.GetDataByPK(para.ID, trans.Trans);

            lnq.QUESTIONNAIRE_SECTION_ID = para.QUESTIONNAIRE_SECTION_ID;
            lnq.QUESTION_NAME = para.QUESTION_NAME;
            lnq.CHOICE_TYPE_ID = para.CHOICE_TYPE_ID;
            lnq.QUESTION_POINT = para.QUESTION_POINT;
            lnq.IS_REQUIRE = para.IS_REQUIRE;
            if (lnq.ID != 0)
                ret = lnq.UpdateByPK(UserID, trans.Trans);
            else
                ret = lnq.InsertData(UserID, trans.Trans);

            if (ret == false)
                _err = lnq.ErrorMessage;
            else
                _question_id = lnq.ID;

            return ret;
        }