Exemplo n.º 1
0
        //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);
        }
Exemplo n.º 2
0
        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);
            }
        }