private void _postRelateGroupcontent(OOPEZZ_DBEntities db, BotMessageReceivedRequest mess, List <String> strques, QUESTION linkedques = null) { char[] charac = { '-' }; List <GROUP_CONTENT> gcontents = db.GROUP_CONTENT.ToList(); List <GROUP_CONTENT> gresult = new List <GROUP_CONTENT>(); foreach (GROUP_CONTENT goupcontent in gcontents) { List <String> gStrStr = Ulti.replaceAEIOU(goupcontent.NAME.ToLower()).Split(charac).ToList(); int resultLength = Ulti.LevenshteinDistance(strques, gStrStr); if (Ulti.calculateResultisAvaiable(resultLength, gStrStr)) { gresult.Add(goupcontent); } } //Tìm xong => post //post group content if (gresult.Count > 0) { String json; foreach (GROUP_CONTENT gcontent in gresult) { json = fbTemplate.ButtonTemplate(mess.sender.id, "Nội dung tương tự :" + gcontent.NAME, new List <ResponseButtons> { new ResponseButtons() { type = "postback", title = "Xem", payload = "GROUPCONTENT_" + gcontent.PK_SEQ } }); _post(json); } } else { if (linkedques != null) { string json = fbTemplate.SimpleTextTemplate(mess.sender.id, "Câu hỏi tương tự "); _post(json); _postQuestion(db, linkedques, mess); } else { _postNoQuest(mess); } } }
private void _question(OOPEZZ_DBEntities db, BotMessageReceivedRequest botMessage) { String mess = botMessage.message.text.ToLower(); mess = Ulti.removeCommonstr(mess); mess = mess.Trim(); mess = Ulti.replaceKeyword(db, mess); mess = Ulti.replaceAEIOU(mess); char[] charac = { '-' }; List <String> strques = mess.Split(charac).ToList(); List <QUESTION> questionlist = db.QUESTION.ToList(); int maxCompare = 10000; QUESTION result = null; foreach (QUESTION question in questionlist) { List <String> ques = Ulti.replaceAEIOU(question.QUESTION_TEXT.ToLower()).Split(charac).ToList(); int resultLength = Ulti.LevenshteinDistance(strques, ques); if (resultLength < maxCompare) { maxCompare = resultLength; result = question; } } if (!Ulti.calculateResultisAvaiable(maxCompare, Ulti.replaceAEIOU(result.QUESTION_TEXT.ToLower()).Split(charac).ToList()) || result == null) { _postRelateGroupcontent(db, botMessage, strques); } else { _postRelateGroupcontent(db, botMessage, strques, result); } }