Esempio n. 1
0
        public bool SubQuestion_Update(SubQuestion data)
        {
            bool check = false;

            try
            {
                using (SqlCommand dbCmd = new SqlCommand("sp_SubQuestion_Update", openConnection()))
                {
                    dbCmd.CommandType = CommandType.StoredProcedure;
                    dbCmd.Parameters.Add(new SqlParameter("@id", data.Id));
                    dbCmd.Parameters.Add(new SqlParameter("@questionID", data.QuestionId));
                    dbCmd.Parameters.Add(new SqlParameter("@content", data.Content));
                    dbCmd.Parameters.Add(new SqlParameter("@active", data.Active));
                    dbCmd.Parameters.Add(new SqlParameter("@reportCount", data.ReportCount));
                    int r = dbCmd.ExecuteNonQuery();
                    if (r > 0)
                    {
                        check = true;
                    }
                }
            }
            catch
            {
            }
            return(check);
        }
Esempio n. 2
0
        private string viewQuiz(string ds)
        {
            string content = "";

            string[] singleQuestion = ds.Split(';');
            int      questionNumber = 0;

            foreach (string item in singleQuestion)
            {
                SubQuestion sq = subQuestionBUS.SubQuestion_GetByTop("", "questionID = '" + item.Trim() + "'", "").ElementAt(0);
                content += "Question " + (++questionNumber) + ". " + sq.Content + "\r\n";
                List <Answer> lst = answerBUS.Answer_GetByTop("", " subQuestionID = '" + sq.Id + "'", "");
                for (int i = 0; i < lst.Count; ++i)
                {
                    Answer a = lst.ElementAt(i);
                    if (bool.Parse(a.IsCorrect))
                    {
                        content += (char)(65 + i) + ". " + a.Answers + " *\r\n";
                    }
                    else
                    {
                        content += (char)(65 + i) + ". " + a.Answers + "\r\n";
                    }
                }
                content += "\r\n";
            }
            return(content);
        }
Esempio n. 3
0
        public List <SubQuestion> SubQuestion_GetByTop(string Top, string Where, string Order)
        {
            List <SubQuestion> list = new List <SubQuestion>();

            using (SqlCommand dbCmd = new SqlCommand("sp_SubQuestion_getByTop", openConnection()))
            {
                dbCmd.CommandType = CommandType.StoredProcedure;
                dbCmd.Parameters.Add(new SqlParameter("@Top", Top));
                dbCmd.Parameters.Add(new SqlParameter("@Where", Where));
                dbCmd.Parameters.Add(new SqlParameter("@Order", Order));
                SqlDataReader dr = dbCmd.ExecuteReader();
                dr.Close();
                dr = dbCmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        SubQuestion obj = new SubQuestion();
                        obj.SubQuestionIDataReader(dr);
                        list.Add(obj);
                    }
                }
                dr.Close();
            }
            return(list);
        }
Esempio n. 4
0
        public List <SubQuestion> getSubQuestions(Question parentQuestion)
        {
            var questions          = new List <SubQuestion>();
            var dataBaseConnection = ConnexionClasse.getConnexion();

            dataBaseConnection.Open();
            var result = ExecuteStoredProcedure(dataBaseConnection, "sel_sub_questions",
                                                new Dictionary <string, object>()
            {
                { "@question_id", parentQuestion.Id },
                { "@question_type", parentQuestion.Category }
            });

            while (result.Read())
            {
                SubQuestion q = new SubQuestion();
                q.ParentQuestion = parentQuestion;
                q.Category       = parentQuestion.Category;
                try
                {
                    mapQuestion(result, q);
                }
                catch (Exception)
                {
                }
                questions.Add(q);
            }
            dataBaseConnection.Close();
            foreach (SubQuestion q in questions)
            {
                q.Choices = getChoices(q);
            }
            return(questions);
        }
Esempio n. 5
0
        private void button1_Click(object sender, EventArgs e)
        {
            QAEngin qna = new QAEngin();
            string  str;
            var     subQuestion = new SubQuestion();

            subQuestion.questionText = questionBox.Text;
            subQuestion.answerText   = input_TB.Text;
            subQuestion.flags        = "need1";
            var match = qna.matchAnswers(subQuestion,
                                         input_TB2.Text);
            var answerText = "Score:" + match.score + Environment.NewLine;

            foreach (var ent in match.missingEntitis)
            {
                answerText += "Missing Entity:" + ent.entityValue + Environment.NewLine;
            }

            foreach (var ans in match.answersFeedbacks.Where(x => x.score < 75))
            {
                answerText += "Missing Answer:" + ans + Environment.NewLine;
            }



            var res = qnaCont.createFeedBack(match);

            foreach (var s in res)
            {
                answerText += s + Environment.NewLine;
            }

            text_TB3.Text = answerText;
        }
        public async Task <SubQuestion> CreateAsync(SubQuestion subquestion)
        {
            var entity = await _context.SubQuestions.AddAsync(subquestion);

            _context.SaveChanges();

            return(entity.Entity);
        }
        public async Task <SubQuestion> UpdateAsync(SubQuestion subquestion)
        {
            var entity = await _context.SubQuestions.FindAsync(subquestion.Id);

            _context.SubQuestions.Update(subquestion);

            _context.SaveChanges();
            return(entity);
        }
Esempio n. 8
0
        private void mnuViewExam_Click(object sender, EventArgs e)
        {
            string content        = "";
            int    questionNumber = 0;

            string[] questionList   = dgvExam.SelectedRows[0].Cells["questionList"].Value.ToString().Split('-');
            string[] singleQuestion = questionList[0].Split(';');
            foreach (string item in singleQuestion)
            {
                SubQuestion sq = sqbus.SubQuestion_GetByTop("", "questionID = '" + item.Trim() + "'", "").ElementAt(0);
                content += "Question " + (++questionNumber) + ". " + sq.Content + "\r\n";
                List <Answer> lst = abus.Answer_GetByTop("", "subQuestionID = '" + sq.Id + "'", "");
                for (int i = 0; i < lst.Count; ++i)
                {
                    Answer a = lst.ElementAt(i);
                    if (a.IsCorrect.ToLower() == "true")
                    {
                        content += (char)(65 + i) + ". " + a.Answers + " *\r\n";
                    }
                    else
                    {
                        content += (char)(65 + i) + ". " + a.Answers + "\r\n";
                    }
                }
                content += "\r\n";
            }
            if (questionList.Length > 1)
            {
                singleQuestion = questionList[1].Split(';');
                foreach (string item in singleQuestion)
                {
                    Question q = qbus.Question_GetByTop("", "id='" + item.Trim() + "'", "").ElementAt(0);
                    content += "Question " + (++questionNumber) + ". " + q.Content + "\r\n";
                    List <SubQuestion> lst = sqbus.SubQuestion_GetByTop("", "questionID = '" + q.Id + "'", "");
                    foreach (SubQuestion sq in lst)
                    {
                        content += sq.Content + "\r\n";
                        List <Answer> lstAnswer = abus.Answer_GetByTop("", "subQuestionID = '" + sq.Id + "'", "");
                        for (int i = 0; i < lstAnswer.Count; ++i)
                        {
                            Answer a = lstAnswer.ElementAt(i);
                            if (a.IsCorrect.ToLower() == "true")
                            {
                                content += (char)(65 + i) + ". " + a.Answers + " *\r\n";
                            }
                            else
                            {
                                content += (char)(65 + i) + ". " + a.Answers + "\r\n";
                            }
                        }
                        content += "\r\n";
                    }
                }
            }
            new FormViewExam(content).ShowDialog();
        }
Esempio n. 9
0
        internal SubQuestion getSubQuestion()
        {
            SubQuestion sq = new SubQuestion();

            sq.answerText = subQuestion_Answers_TB.Text.ToString();;
            if (SQ_NeededPicker_UDP.Text == null || SQ_NeededPicker_UDP.Text == "" ||
                int.Parse(SQ_NeededPicker_UDP.Text) > sq.answerText.Split('|').Where(t => t.Trim().Length > 0).Count())
            {
                MessageBox.Show("מס' התשובות הנדרשות גדול ממספר התשובות הקיימות");
                return(null);
            }
            sq.flags        = "need" + SQ_NeededPicker_UDP.Text;
            sq.questionText = SQquestionTB.Text.ToString();;

            return(sq);
        }
        public void answerQualityCompareTest()
        {
            var questions = db.getSampleQuestions();

            foreach (var a in questions)
            {
                var q = new SubQuestion();
                q.answerText   = a.question;
                q.questionText = "";
                q.flags        = "";
                var score = qna.matchAnswers(q, a.userAnswer).score;
                db.updateSampleQuestion(a, score);
                var logScore = int.Parse(a.entities);
                Assert.IsTrue(score > logScore - 10 && score < logScore + 10, "id: " + a.id + "\nlogScore:" + logScore + " != score:" + score + "\n1:" + a.question + "\n2:" + a.userAnswer);
            }
        }
Esempio n. 11
0
        public int SubQuestion_Insert(SubQuestion data)
        {
            int id = -1;

            using (SqlCommand dbCmd = new SqlCommand("sp_SubQuestion_Insert", openConnection()))
            {
                dbCmd.CommandType = CommandType.StoredProcedure;
                dbCmd.Parameters.Add(new SqlParameter("@questionID", data.QuestionId));
                dbCmd.Parameters.Add(new SqlParameter("@content", data.Content));
                //    dbCmd.Parameters.Add(new SqlParameter("@active", data.Active));
                dbCmd.Parameters.Add("@id", SqlDbType.Int).Direction = ParameterDirection.Output;
                dbCmd.ExecuteNonQuery();
                id = int.Parse(dbCmd.Parameters["@id"].Value.ToString());
            }

            return(id);
        }
Esempio n. 12
0
        private void button4_Click(object sender, EventArgs e)
        {
            var inputText = systemAnswer_TB.Text;

            string log        = "";
            var    botResualt = new NLPControler().testAnalizer(inputText, out log, questionInput_TB.Text);

            drawTree(botResualt, answerTreeView);

            inputText = userAnswer_TB2.Text;
            var botResualt2 = new NLPControler().testAnalizer(inputText, out log, questionInput_TB.Text);

            drawTree(botResualt2, userAnswerTreeView);


            QAEngin qna = new QAEngin();
            string  str;
            var     subQuestion = new SubQuestion();

            subQuestion.questionText = questionInput_TB.Text;
            subQuestion.answerText   = systemAnswer_TB.Text;
            subQuestion.flags        = "need1";
            var match = qna.matchAnswers(subQuestion,
                                         userAnswer_TB2.Text);
            var answerText = "Score:" + match.score + Environment.NewLine;

            foreach (var ent in match.missingEntitis)
            {
                answerText += "Missing Entity:" + ent.entityValue + Environment.NewLine;
            }

            foreach (var ans in match.answersFeedbacks.Where(x => x.score < 75))
            {
                answerText += "Missing Answer:" + ans.answer + Environment.NewLine;
            }

            var res = qnaCont.createFeedBack(match);

            foreach (var s in res)
            {
                answerText += s + Environment.NewLine;
            }

            resualt_TB3.Text = answerText;
        }
Esempio n. 13
0
        private void addQuestion_BTN_Click(object sender, EventArgs e)
        {
            try
            {
                IQuestion question = new Question();
                question.QuestionText = question_TB.Text;
                question.SubCategory  = subSubject_TB.Text;
                question.Category     = subject_TB.Text;
                question.Flags        = questionType_CB.Text == "שאלת מקור" ? "sorcePic" : null;
                if (questionType_CB.Text == "שאלת מקור")
                {
                    //loadPic
                }
                question.SubQuestion = new List <SubQuestion>();


                var entityList = new List <IentityBase>();
                foreach (var sq in subquestions)
                {
                    var subQuestion = new SubQuestion();
                    subQuestion = sq.getSubQuestion();
                    if (subQuestion == null)
                    {
                        throw new Exception();
                    }
                    question.SubQuestion.Add(subQuestion);

                    entityList.AddRange(sq.updatedEntityList());
                }

                db.addUpdateQuestion((Question)question);


                nlp.updateEntities(entityList.Distinct());
            }catch (Exception ex)
            {
                MessageBox.Show("אין אפשרות להוסיף את השאלה, יש למלא את כל הסעיפים הנדרשים");
            }
        }
Esempio n. 14
0
 public bool SubQuestion_Update(SubQuestion data)
 {
     return(obj.SubQuestion_Update(data));
 }
Esempio n. 15
0
 public int SubQuestion_Insert(SubQuestion data)
 {
     return(obj.SubQuestion_Insert(data));
 }
 public SubQuestionNotFoundException(string message, SubQuestion subquestion)
     : base(message)
 {
 }