public void Post([FromBody] QuestionWithAnswer qa) { var ruleEngine = new ResponseBuilder(new NaturalLanguageQuestion { Question = qa.Question }); ruleEngine.StoreQuestionWithAnswer(qa); //TODO: return some status code }
public ActionResult AnswerTheQuestion() { Question q = questionsProvider.GetQuestion(); Answer answer = new Answer(); QuestionWithAnswer qa = new QuestionWithAnswer(q, answer); return(View(qa)); }
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))); }
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; } }
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; } }
public void AddQuestion(QuestionWithAnswer question) { QuestionsWithAnswer.Add(question); SaveChanges(); }
public void AddQuestion(QuestionWithAnswer question) => lagopusExamRepository.AddQuestion(question);