Beispiel #1
0
        internal static ConfirmTemplate MakeDeletOrderItem(string message, int QIDnow, int OIDnow, string BuyerInfoID, string userId, string channelAccessToken)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            BuyerInfo buyerInfo = new BuyerInfo();

            buyerInfo.ID = int.Parse(BuyerInfoID);
            buyerInfo.SelectAllByBuyerInfoID();

            message = "缺定要刪除?";

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},{BuyerInfoID}"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},{buyerInfo.Item},{BuyerInfoID}"
            });
            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = message,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Beispiel #2
0
        internal static ConfirmTemplate MakeNoteConfirmBtn(int QIDnow, int OIDnow)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            string confirmText = "請問你需要寫個備註嗎??";

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "不用哦~", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "填寫備註", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
            });
            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Beispiel #3
0
        internal static ConfirmTemplate MakeDeleteMyOnceOrderConfirmBtn(string message, int QIDnow, int OIDnow, string UserIDorClubIDorOrderID)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            string confirmText = GetConfirmText(QIDnow, OIDnow, UserIDorClubIDorOrderID);

            if (confirmText == "")
            {
                confirmText = message;
            }

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},MyOnceOrder"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
            });
            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Beispiel #4
0
        internal static ConfirmTemplate MakeModifyOrderConfirmBtn(string message, int QIDnow, int OIDnow, string ShopID, string UserID)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();
            string         confirmText          = GetConfirmText(QIDnow, OIDnow, ShopID);

            //OrderTmp orderTmp = new OrderTmp(UserID);
            //orderTmp.SelectByUserID();
            //string confirmText = $@"開始時間:{orderTmp.StartTime.ToString()}\結束時間:{orderTmp.EndTime.ToString()}";
            if (confirmText == "")
            {
                confirmText = message;
            }
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},{ShopID}"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
            });
            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Beispiel #5
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);
        }
Beispiel #6
0
        internal static ConfirmTemplate MakeCreateClubConfirmBtn(string message, int QIDnow, int OIDnow, string clubID, string clubName)
        {
            var actions = new List <isRock.LineBot.TemplateActionBase>();

            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            string confirmText = GetConfirmText(QIDnow, OIDnow, clubID);

            if (confirmText == "")
            {
                confirmText = message;
            }

            //參加社團(91)和退出社團(102)需要放clubID
            if (questionDetailNext.QID == 91 || questionDetailNext.QID == 102)
            {
                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},{clubID}"
                });
            }
            else
            {
                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},{clubName}"
                });
            }
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
            });


            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Beispiel #7
0
        internal static ButtonsTemplate MakeDeleteMyPeriodOrderConfirmBtn(int QIDnow, int OIDnow, OrderInfo orderInfo)
        {
            //建立actions,作為ButtonTemplate的用戶回覆行為
            var actions = new List <isRock.LineBot.TemplateActionBase>();

            // 製作Button
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "刪除單一週期性訂單",
                data  = DateTime.Now.ToString() + $",{questionDetailNext.QID},{questionDetailNext.OID},MyOrderPartition"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "刪除完整週期性訂單",
                data  = DateTime.Now.ToString() + $",{questionDetailNext.QID},{questionDetailNext.OID},MyOrder"
            });

            // 製作取消的button
            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消",
                data  = DateTime.Now.ToString() + $",{questionDetailCancel.QID}," + $"{questionDetailCancel.OID},default"
            });

            //製作模板框架
            var ButtonTemplate = new isRock.LineBot.ButtonsTemplate()
            {
                altText = $"請使用手機查看喔~",
                title   = "請選擇週期性訂單的刪除範圍",
                text    = $"單一:僅刪除{orderInfo.OrderName}裡{orderInfo.StartTime.ToString("yyyyMMdd")}的訂單,完整:刪除{orderInfo.OrderName}的所有訂單",
                ////設定圖片
                //thumbnailImageUrl = new Uri("https://i220.photobucket.com/albums/dd130/jung_04/p117516087231.jpg"),
                actions = actions //設定回覆動作
            };

            return(ButtonTemplate);
        }
Beispiel #8
0
        internal static ButtonsTemplate DateTimeBtnMake(int QIDnow, int OIDnow, string data)
        {
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            PreviousHelper previousHelper         = new PreviousHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailPrevious = previousHelper.GetPrevious();

            var ButtonTemplate = new isRock.LineBot.ButtonsTemplate();
            var actions        = new List <isRock.LineBot.TemplateActionBase>();

            actions.Add(new isRock.LineBot.DateTimePickerAction()
            {
                label = "選擇開始日期和時間",
                mode  = "datetime",
                data  = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},start"
            });
            actions.Add(new isRock.LineBot.DateTimePickerAction()
            {
                label = "選擇結束日期和時間",
                mode  = "datetime",
                data  = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},end"
            });

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "上一步",
                data  = DateTime.Now.ToString() + $",{questionDetailPrevious.QID}," + $"{questionDetailPrevious.OID},default"
            });
            ButtonTemplate = new isRock.LineBot.ButtonsTemplate()
            {
                text = "訂單",
                // title = "選擇日期",
                //設定圖片
                thumbnailImageUrl = new Uri("https://i220.photobucket.com/albums/dd130/jung_04/DateTime.png"),
                actions           = actions
            };


            return(ButtonTemplate);
        }
Beispiel #9
0
        internal static string MakeShopItem(string UserID, int QID, int OID, string shopID)
        {
            List <ShopInfo> shopInfos = new List <ShopInfo>();
            List <ShopItem> shopItems = new List <ShopItem>();;
            ShopInfo        shopInfo  = new ShopInfo();
            ShopItem        shopItem;

            shopInfo.ShopID = shopID;
            switch (QID)
            {
            case 201:
                shopInfos = shopInfo.MyShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByMyShopID();
                break;

            case 202:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 211:
                shopInfos = shopInfo.MyShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByMyShopID();
                break;

            case 212:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 231:
                shopInfos = shopInfo.MyShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByMyShopID();
                break;

            case 232:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 241:
                shopInfos = shopInfo.ClubShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByClubShopID();
                break;

            case 242:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 251:
                shopInfos = shopInfo.ClubShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByClubShopID();
                break;

            case 252:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 261:
                shopInfos = shopInfo.ClubShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByClubShopID();
                break;

            case 262:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            default:
                break;
            }



            FlexBublbe flexBublbe = new FlexBublbe();

            flexBublbe.contents.contents[0].body.contents[1].text = shopInfos[0].ShopName;


            flexBublbe.contents.contents[0].body.contents[3].contents = new List <FlexBublbe.Content>();
            FlexBublbe.Content content = new FlexBublbe.Content();



            foreach (ShopItem shopItemm in shopItems)
            {
                content        = new FlexBublbe.Content();
                content.type   = "box";
                content.layout = "horizontal";
                //flexBublbe.contents.contents[0].body.contents[3].contents.Add(content);
                ShopItemText shopItemText = new ShopItemText();
                shopItemText.type  = "text";
                shopItemText.text  = shopItemm.shopItem;
                shopItemText.size  = "md";
                shopItemText.color = "#111111";
                content.contents.Add(shopItemText);
                shopItemText       = new ShopItemText();
                shopItemText.type  = "text";
                shopItemText.text  = shopItemm.ShopItemPrice.ToString("0.##") + "  TWD";
                shopItemText.size  = "md";
                shopItemText.color = "#111111";
                shopItemText.align = "end";
                content.contents.Add(shopItemText);
                flexBublbe.contents.contents[0].body.contents[3].contents.Add(content);
            }

            flexBublbe.contents.contents[0].body.contents.Add(new PartitionLine());

            //底下Btn
            FooterBtn      footerBtn      = new FooterBtn();
            NextHelper     nextHelper     = new NextHelper(QID, OID);
            QuestionDetail questionDetail = nextHelper.GetNext();

            footerBtn.contents[0].action.data = $"{DateTime.Now},{questionDetail.QID},{questionDetail.OID},{shopID}";
            PreviousHelper previousHelper = new PreviousHelper(QID, OID);

            questionDetail = previousHelper.GetPrevious();
            footerBtn.contents[1].action.data = $"{DateTime.Now},{questionDetail.QID},{questionDetail.OID},{shopID}";
            flexBublbe.contents.contents[0].body.contents.Add(footerBtn);



            JsonSerializerSettings settings = new JsonSerializerSettings();

            settings.NullValueHandling = NullValueHandling.Ignore;
            var json = JsonConvert.SerializeObject(flexBublbe, settings);

            //  string json = JsonConvert.SerializeObject(flexBublbe);

            return("[" + json + "]");
        }
Beispiel #10
0
 void Awake()
 {
     MyDataController = this;
     DefaultNextHelper = new NextHelper (this);
 }
Beispiel #11
0
        internal static string make(string UserID, int QIDnow, int OIDnow, string data)
        {
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            //如果是取得參加碼,直接回傳藏在postback裡的data
            if (QIDnow == 101 && OIDnow == 1)
            {
                return(data);
            }
            else if (QIDnow == 73 && OIDnow == 2)
            {
                return(data);
            }
            else if (QIDnow == 53 && OIDnow == 1)
            {
                return(data);
            }
            else if (QIDnow == 153 && OIDnow == 1)
            {
                return(data);
            }
            else if (QIDnow == 9998)
            {
                switch (data)
                {
                case "accept":
                    return("已向訂購者傳送確認訊息!");

                case "refuse":
                    return("已向訂購者傳送婉拒訊息!");

                default:
                    break;
                }
            }
            QuestionDetail        questionDetail     = new QuestionDetail(QIDnow, OIDnow);
            List <QuestionDetail> questionDetailList = questionDetail.SelectByQidAndOid();

            switch (QIDnow)
            {
            case 121:
                UserStatus userStatustemp = new UserStatus(UserID);
                userStatustemp.SelectByUserID();
                data = userStatustemp.TempData;
                break;

            default:
                break;
            }
            UserStatus userStatus = new UserStatus(UserID, questionDetailNext.QID, questionDetailNext.OID, data);

            userStatus.UpdateByUserID();

            // 先偷做一些事情
            switch (QIDnow)
            {
            case 71:
                switch (OIDnow)
                {
                case 3:
                    // 把UserID加入訂單

                    break;

                default:
                    break;
                }
                break;

            case 194:
                switch (OIDnow)
                {
                case 2:
                    // 改品項的時候要先記錄改之前的品項到ShopTemp,之後才知道要改哪一筆
                    ShopTemp shopTemp = new ShopTemp(UserID);
                    shopTemp.ShopItem = data;
                    shopTemp.UpdateItemToShopTemp();
                    break;

                case 6:
                    // 清空
                    shopTemp = new ShopTemp(UserID);
                    shopTemp.InitializeShopTempByUserID();
                    shopTemp.DeleteShopItemTempByUserID();
                    userStatus.InitializeUserStatusByUserID();
                    break;

                default:
                    break;
                }
                break;

            case 294:
                switch (OIDnow)
                {
                case 2:
                    // 改品項的時候要先記錄改之前的品項到ShopTemp,之後才知道要改哪一筆
                    ShopTemp shopTemp = new ShopTemp(UserID);
                    shopTemp.ShopItem = data;
                    shopTemp.UpdateItemToShopTemp();
                    break;

                case 6:
                    // 清空
                    shopTemp = new ShopTemp(UserID);
                    shopTemp.InitializeShopTempByUserID();
                    shopTemp.DeleteShopItemTempByUserID();
                    userStatus.InitializeUserStatusByUserID();
                    break;

                default:
                    break;
                }
                break;

            default:
                break;
            }

            return(questionDetailList[0].AnswerOption);
        }
Beispiel #12
0
        internal static ConfirmTemplate MakeContinueConfirmBtn(string message, int QIDnow, int OIDnow)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            string confirmText = "";

            confirmText = GetConfirmText(QIDnow, OIDnow, "");

            if (confirmText == "")
            {
                confirmText = message;
            }
            switch (QIDnow)
            {
            case 121:
                switch (OIDnow)
                {
                case 5:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續修改", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束修改", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 194:
                switch (OIDnow)
                {
                case 5:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續修改", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束修改", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 211:
                switch (OIDnow)
                {
                case 3:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續選擇", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束選擇", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 251:
                switch (OIDnow)
                {
                case 3:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續選擇", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束選擇", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 294:
                switch (OIDnow)
                {
                case 5:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續修改", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束修改", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 9999:
                switch (OIDnow)
                {
                case 5:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續訂購", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束訂購", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            default:
                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "繼續輸入", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                });
                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "結束輸入", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                });
                break;
            }


            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }