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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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 + "]"); }
void Awake() { MyDataController = this; DefaultNextHelper = new NextHelper (this); }
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); }
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); }