protected void btnAddQuestion_Click(object sender, EventArgs e)
        {
            if (txtbxQuestion.Text != "")
            {
                QuestionDAL qDAL  = new QuestionDAL();
                SubThemeDAL stDAL = new SubThemeDAL();

                QuestionABC quest = new QuestionABC(0, txtbxQuestion.Text, stDAL.GetSubThemeIdBySubThemeNameViaStoredProc(ddlSubTheme.SelectedValue));

                qDAL.InsertQuestionViaStoredProc(quest);

                txtbxQuestion.Text = "";
            }

            GetViewOfQuestion();
            GetViewOfAnswers();
        }
Exemple #2
0
        protected void btnComplete_Click(object sender, EventArgs e)
        {
            //Достаем все радиобаттоны из таблицы
            List <RadioButton> rbtnList = new List <RadioButton>();

            rbtnList = GetAllRbtnFromTable(tblTest);



            //Получаем из списка всех радиобаттонов только нажатые
            List <string> idOfSelectedRBTN = new List <string>();

            idOfSelectedRBTN = GetAllSelectedRBTNID(rbtnList);


            //Получаем цифры из полного ИД

            List <string> tmpSelectedRbtn = new List <string>();

            foreach (string rbtnID in idOfSelectedRBTN)
            {
                string rbtn = rbtnID;
                rbtn = GetNumbersFromString(rbtnID);
                tmpSelectedRbtn.Add(rbtn);
            }

            idOfSelectedRBTN = tmpSelectedRbtn;

            //Конвертируем айдишник лэйбла
            List <string> listOfLblID = new List <string>();

            foreach (string id in idOfSelectedRBTN)
            {
                listOfLblID.Add(ConvertIDToMask(id, "lblAnswer", false));
            }

            //Получаем список из лэйблов(те, что напротив нажатого баттона)
            List <Label> listLbl = new List <Label>();

            foreach (string lblId in listOfLblID)
            {
                listLbl.Add((Label)GetControlInTable(tblTest, lblId));
            }

            AnswerDAL aDAL = new AnswerDAL();

            //проверяем правильные ли ответы и возвращаем результат
            int   rightAnswers = 0;
            Color clrRight     = new Color();
            Color clrWrong     = new Color();

            clrRight = Color.Green;
            clrWrong = Color.Red;
            foreach (Label lbl in listLbl)
            {
                if (aDAL.IsRightAnswer(lbl.Text))
                {
                    ChangeRowColorTo(tblTest, string.Format("tRow{0}", GetNumbersFromString(lbl.ID)), clrRight);
                    rightAnswers++;
                }

                else
                {
                    ChangeRowColorTo(tblTest, string.Format("tRow{0}", GetNumbersFromString(lbl.ID)), clrWrong);
                }
            }

            TestABC tABC = new TestABC(Session["choosedSubTheme"].ToString());

            lblResult.Text = GetResultInString(tABC.QuestionCount, rightAnswers, "Your result is: ") + "%";

            double underScoredRes = tABC.QuestionCount / 100.00;
            double res            = rightAnswers / underScoredRes;

            SubThemeDAL stDAL      = new SubThemeDAL();
            int         idSubTheme = stDAL.GetSubThemeIdBySubThemeNameViaStoredProc(Session["choosedSubTheme"].ToString());

            BaseDAL       dalABC = new BaseDAL();
            MembershipABC memABC = new MembershipABC();
            Guid          idUser = memABC.GetUserIdByUserName(Membership.GetUser().UserName);

            tABC.InsertResult(res, idSubTheme, idUser, DateTime.Now);

            //btnComplete.Visible = false;
        }