Example #1
0
        public void Post([FromBody] QuestionWithAnswer qa)
        {
            var ruleEngine = new ResponseBuilder(new NaturalLanguageQuestion {
                Question = qa.Question
            });

            ruleEngine.StoreQuestionWithAnswer(qa); //TODO: return some status code
        }
Example #2
0
        public ActionResult AnswerTheQuestion()
        {
            Question           q      = questionsProvider.GetQuestion();
            Answer             answer = new Answer();
            QuestionWithAnswer qa     = new QuestionWithAnswer(q, answer);

            return(View(qa));
        }
Example #3
0
        public ActionResult SaveAnswer(QuestionWithAnswer qa)
        {
            Answer answer = qa.A;

            answer.QuestionId = qa.Q.Id;
            answer.UserId     = User.Identity.GetUserId();
            questionsProvider.SaveAnswer(answer);
            questionsProvider.AddQuestionMark(qa.Q.UserId, qa.Q.Id, (int)qa.Q.Ranking);

            return(View("Index", questionsProvider.GetTopQuestions(5)));
        }
Example #4
0
        public void StoreQuestionWithAnswer(QuestionWithAnswer qa)
        {
            //string spName = "[dbo].[uspInsertUserSearchDetails]";
            string spName = "[dbo].[uspInsertUserSearchDetailsNarrativeThumbnail]";
            string conStr = ConfigurationManager.ConnectionStrings["DefaultConnection"]?.ToString();

            try
            {
                using (SqlConnection conn = new SqlConnection(conStr))
                {
                    using (SqlCommand cmd = new SqlCommand(spName, conn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        var param1 = cmd.Parameters.Add("@UserID", SqlDbType.Int);
                        param1.Direction = ParameterDirection.Input;
                        param1.Value     = qa.UserId;
                        var param2 = cmd.Parameters.Add("@SearchContent", SqlDbType.NVarChar, 1000);
                        param2.Direction = ParameterDirection.Input;
                        param2.Value     = qa.Question;
                        var param3 = cmd.Parameters.Add("@Narrative", SqlDbType.NVarChar);
                        param3.Direction = ParameterDirection.Input;
                        param3.Value     = qa.Narrative;
                        var param4 = cmd.Parameters.Add("@Thumbnail", SqlDbType.VarBinary);
                        param4.Direction = ParameterDirection.Input;
                        param4.Value     = Convert.FromBase64String(qa.Snapshot);
                        var param5 = cmd.Parameters.Add("@Caption", SqlDbType.NVarChar, 1000);
                        param5.Direction = ParameterDirection.Input;
                        param5.Value     = qa.Caption;
                        conn.Open();
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            catch (Exception ex)
            {
                //just log and continue
                //throw ex;
            }
        }
Example #5
0
        private async Task CompleteTest()
        {
            try
            {
                TestResult result = new TestResult();
                result.Id   = Guid.NewGuid().ToString();
                result.User = _user;

                List <QuestionWithAnswer> answers = new List <QuestionWithAnswer>();
                foreach (QuestionControl element in _questions)
                {
                    QuestionWithAnswer answer = new QuestionWithAnswer
                    {
                        IdentifierdInTest = element.Question.Id,
                        Text   = element.Question.Text,
                        Answer = element.GetAnswerToQuestion()
                    };

                    answers.Add(answer);
                }

                result.Questions = answers.ToArray();

                if (!string.IsNullOrEmpty(_currentTestId) &&
                    !string.IsNullOrWhiteSpace(_currentTestId))
                {
                    await _client.EndTestingAsync(result, _groupId, _subGroupId, _currentTestId);
                }
            }
            catch (Exception exception)
            {
                await this.ShowMessageAsync("Ошибка (CompleteTestButton_OnClick)", exception.Message);
            }
            finally
            {
                TakeToTestButton.IsEnabled = true;
            }
        }
Example #6
0
 public void AddQuestion(QuestionWithAnswer question)
 {
     QuestionsWithAnswer.Add(question);
     SaveChanges();
 }
Example #7
0
 public void AddQuestion(QuestionWithAnswer question)
 => lagopusExamRepository.AddQuestion(question);