Esempio n. 1
0
        internal static ButtonsTemplate Make(int QIDnow, int OIDnow, string data)
        {
            //建立actions,作為ButtonTemplate的用戶回覆行為
            var actions = new List <isRock.LineBot.TemplateActionBase>();

            // 以傳進來的QID找到按鈕選項
            QuestionDetail        questionDetail     = new QuestionDetail(QIDnow);
            List <QuestionDetail> questionDetailList = questionDetail.SelectByQid();

            // 以選項的QID跟OID找到button裡要藏的QID和OID (即按下按鈕後下一個出現的QID和OID)
            for (int i = 0; i < questionDetailList.Count; i++)
            {
                NextHelper     nextHelper         = new NextHelper(questionDetailList[i].QID, questionDetailList[i].OID);
                QuestionDetail questionDetailNext = nextHelper.GetNext();

                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = questionDetailList[i].AnswerOption,
                    data  = DateTime.Now.ToString() + $",{questionDetailNext.QID},{questionDetailNext.OID},{data}"
                });
            }

            // QID 19和29都有四個button了不能加上一步
            if (!(QIDnow == 19 || QIDnow == 29))
            {
                // 製作上一步的button
                PreviousHelper previousHelper         = new PreviousHelper(QIDnow, OIDnow);
                QuestionDetail questionDetailPrevious = previousHelper.GetPrevious();

                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "上一步",
                    data  = DateTime.Now.ToString() + $",{questionDetailPrevious.QID}," + $"{questionDetailPrevious.OID},default"
                });
            }

            //製作模板框架
            Question question = new Question(QIDnow);

            question.SelectByQid();

            var ButtonTemplate = new isRock.LineBot.ButtonsTemplate()
            {
                altText = $"請使用手機查看喔~{question.QuestionTitle}",
                //title = question.QuestionTitle,
                text = question.QuestionText,
                //設定圖片
                thumbnailImageUrl = new Uri(question.ImageUrl),
                actions           = actions //設定回覆動作
            };


            return(ButtonTemplate);
        }