public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FAQAnswer fAQAnswer = await db.FAQAnswers.FindAsync(id); if (fAQAnswer == null) { return(HttpNotFound()); } return(View(fAQAnswer)); }
public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FAQAnswer fAQAnswer = await db.FAQAnswers.FindAsync(id); if (fAQAnswer == null) { return(HttpNotFound()); } ViewBag.FAQId = new SelectList(db.FAQs, "Id", "Question", fAQAnswer.FAQId); return(View(fAQAnswer)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,FAQId,Answer,CreatedBy,CreatedOn")] FAQAnswer fAQAnswer) { if (ModelState.IsValid) { fAQAnswer.ModifiedOn = DateTime.UtcNow; fAQAnswer.ModifiedBy = HttpContext.User.Identity.Name; db.Entry(fAQAnswer).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index", "FAQs")); } ViewBag.FAQId = new SelectList(db.FAQs, "Id", "Question", fAQAnswer.FAQId); return(View(fAQAnswer)); }
public async Task <List <FAQAnswer> > GetFAQAnswerAsync(string query, float _scoreThreshold = 0.5f, int _top = 1, string metaInfo = null) { List <FAQAnswer> result = new List <FAQAnswer>(); foreach (QuestionModel ques in _questionBase.Questions.Values) { _classifier.SetString1(ques.Question); _classifier.SetString2(query); float score = await _classifier.GetSentenceMatchResultAsync(); if (score > _scoreThreshold) { FAQAnswer ans = new FAQAnswer() { Score = score, TopMatchedQuestion = ques.Question, Questions = GetQuestionByIds(_questionBase.AnswerToQuestionsMap[_questionBase.QuestionToAnswerMap[ques.QuestionId]]), Answer = _questionBase.Answers[_questionBase.QuestionToAnswerMap[ques.QuestionId]], }; result.Add(ans); } } result = result.OrderByDescending(ob => ob.Score).ToList(); HashSet <Guid> mapper = new HashSet <Guid>(); List <FAQAnswer> filterSimilar = new List <FAQAnswer>(); foreach (FAQAnswer answer in result) { if (answer.Answer != null && !mapper.Contains(answer.Answer.AnswerId)) { mapper.Add(answer.Answer.AnswerId); filterSimilar.Add(answer); } } result = filterSimilar; List <FAQAnswer> outR = new List <FAQAnswer>(); for (int count = 0; count < _top && count < result.Count; count++) { outR.Add(result[count]); } if (!string.IsNullOrEmpty(metaInfo)) { List <FAQAnswer> final = new List <FAQAnswer>(); foreach (var ans in outR) { if (ans.Answer.MatchMetaInfo(metaInfo.Trim())) { final.Add(ans); } } return(final); } return(outR); }