//private void _lessonmenu(OOPEZZ_DBEntities db, BotMessageReceivedRequest botMessage) //{ // ///thua // List<LESSION> lessionlist = db.LESSION.ToList(); // List<PayloadElements> listelement = new List<PayloadElements>(); // foreach (LESSION ls in lessionlist) // { // PayloadElements element = new PayloadElements() // { // title = ls.NAME, // //image_url = ls.IMAGE, // subtitle = ls.DESCRIPTION, // buttons = new List<ResponseButtons> // { // new ResponseButtons // { // type = "web_url", // title = "View", // url = "https://www.facebook.com/pg/OOP-Ezz-108722340761918" // } // }, // default_action = new PayloadElementDefautAction // { // type = "web_url", // url = "https://www.facebook.com/pg/OOP-Ezz-108722340761918" // } // }; // listelement.Add(element); // } // List<ResponseButtons> lbt = new List<ResponseButtons>() // { // new ResponseButtons // { // title = "View More", // type = "postback", // payload = "payload view more" // } // }; // //listelement.RemoveAt(1); // String json = fbTemplate.ListTemplate(botMessage.sender.id, listelement); // _post(json); //} private void _rqQuestion(OOPEZZ_DBEntities db, BotMessageReceivedRequest botMessage) { String mess = botMessage.message.text.Remove(0, 6); mess = mess.Trim(); mess = Ulti.replaceKeyword(db, mess); USER user = db.USER.Where(x => x.TOKEN == botMessage.sender.id).FirstOrDefault(); int userpkseq = -1; if (user == null) { UserControl control = new UserControl(); userpkseq = control.CreateUser(db, botMessage.sender.id); } else { userpkseq = user.PK_SEQ; } QUESTION ques = new QUESTION() { BEST_ANSWER_FK = 0, QUESTION_TEXT = mess, QUESTION_USER_FK = userpkseq, STATUS = 0 }; db.QUESTION.Add(ques); db.SaveChanges(); String json = fbTemplate.SimpleTextTemplate(botMessage.sender.id, "Oki đã ghi nhận nào có câu trả lời mình sẽ trả lời ngay"); _post(json); }
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); } }