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); }
protected void btnsave_Click(object sender, EventArgs e) { if (txtAns.Text.Trim() == "") { Alert.Show("กรุณากรอกคำตอบด้วย !!!"); txtAns.Focus(); return; } try { QuestionDetail qds = new QuestionDetail(); qds.QID = Convert.ToInt32(q.ID); qds.AnsQus = txtAns.Text.Trim(); if (_userlogin == null) { qds.AnsBy = "ผู้ใช้ทั่วไป"; } else { qds.AnsBy = _userlogin.UserName; } MemberService service = new MemberService(); if (service.CreateQuestionDetail(qds)) { Alert.Show("บันทึกเรียบร้อยแล้ว"); txtAns.Text = ""; loadQuestionDetail(); } } catch (Exception ex) { Alert.Show("ไม่สามารถบันทึกได้เนื่องจาก " + ex.Message); } }
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); }
public ActionResult Edit(string id) { using (var ctx = new ApplicationDbContext()) { ViewBag.VersionName = new SelectList(ctx.Versions.ToList(), "Name", "Name"); var svc = new GameService(); var detail = svc.GetGameById(id); if (detail.GameVersionId == null) { var firstModel = new GameEditModel { GameBaseId = detail.GameBaseId, Answer = null }; return(View(firstModel)); } var qsvc = new QuestionService(); var questions = qsvc.GetQuestionsByVersionId(detail.GameVersionId); QuestionDetail question = new QuestionDetail(); while (question.Text == null || _usedQuestions.Contains(question.Id)) { var index = _random.Next(0, questions.Count()); question = questions[index]; if (_usedQuestions.Count == questions.Count) { _usedQuestions = new List <int>(); } } detail.QuestionId = question.Id; detail.Question.Text = question.Text; detail.Question.Answers = question.Answers; detail.Question.Category = new Category(); detail.Question.Category.Color = question.Category.Color; detail.Question.Category.Name = question.Category.Name; var repeatModel = new GameEditModel { GameBaseId = detail.GameBaseId, GameVersionId = detail.GameVersionId, QuestionId = detail.QuestionId, Question = detail.Question, CategoryColor = detail.Question.Category.Color, Answer = "", CategoryName = detail.Question.Category.Name, NumberOfPlayers = detail.NumberOfPlayers, PlayerTurn = detail.PlayerTurn, PlayerOnePie = detail.PlayerOnePie, PlayerTwoPie = detail.PlayerTwoPie, PlayerThreePie = detail.PlayerThreePie, PlayerFourPie = detail.PlayerFourPie, DisplayName = detail.DisplayName }; _usedQuestions.Add(question.Id); return(View(repeatModel)); } }
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); }
public QuestionThread GetQuestionThread(string url) { var web = new HtmlWeb(); var htmlDoc = web.Load(url); var nodes = htmlDoc.DocumentNode.SelectNodes("//div[@class='post-text']"); var answers = nodes.Skip(1).Select(node => new QuestionAnswer { Answer = node.InnerText.Replace("\n", "<br>") }).ToList(); var question = new QuestionDetail { Question = nodes.First().InnerText.Replace("\n", "<br>") }; return(new QuestionThread { QuestionDetail = question, QuestionAnswers = answers }); }
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); }
public async Task AddQuestionAsync(QuestionDetail question) { using (IUnitOfWork unitOfWork = unitOfWorkFactory.Create()) { await unitOfWork.QuestionRepository.AddQuestionAsync(question.DeepCopyTo <Database.Models.QuestionDefinition>()); unitOfWork.OptionRepository.AddOptionsAsync(question.Options.Select(o => new Database.Models.OptionDefinition { Answer = o.Answer, ID = o.ID, IsCorrectAnswer = o.IsCorrectAnswer, Order = o.Order, QuestionID = o.QuestionID }).ToArray()); await unitOfWork.SaveAsync(); } }
/// <summary> /// /// </summary> /// <param name="idQuestion"></param> /// <param name="idQuestionDetail"></param> /// <param name="actionAnswer"></param> /// <returns></returns> public QuestionDetail InsertQuestionDetail(Guid idQuestion, Guid idQuestionDetail, string actionAnswer) { var itemReturn = new QuestionDetail(); using (var transaction = Context.Database.BeginTransaction()) { try { var questionDetailCurrent = _questionDetailDao.GetOne(idQuestionDetail); var position = -1; var itemsUpdate = new List <QuestionDetail>(); switch (actionAnswer) { case CService.LastAnswer: position = -1; break; case CService.AfterAnswer: position = questionDetailCurrent.Order + 1; itemsUpdate = _questionDetailDao.GetQuestionDetailAfterOrder(idQuestion, questionDetailCurrent.Order); break; } foreach (var itemTemp in itemsUpdate) { itemTemp.Order = itemTemp.Order + 1; } itemReturn = AddAnswer(idQuestion, position); Context.QuestionDetails.Add(itemReturn); Context.SaveChanges(); transaction.Commit(); } catch { transaction.Rollback(); } } return(itemReturn); }
public QuestionDetail BuildQuestionDetailViewModel(string username, string[] userRoles, string title, QuestionFields questionFields, List <AnswerFields> answerFieldsList, string poster) { var viewModel = new QuestionDetail { Title = title, SubTitle = GeneralConstants.PortalTitle, PortalTitle = GeneralConstants.PortalTitle, Icon = "Icon", Breadcrumb = _breadcrumbFactory.BuildBreadcrumb(), LeftNav = _leftNavFactory.BuildLeftNav(LeftNavigationItems.Questions, userRoles), TopNav = _topNavFactory.BuildTopNav(GeneralConstants.PortalTitle, username), QuestionFields = questionFields, Answers = answerFieldsList, Poster = poster }; return(viewModel); }
public static Page ItemTapped(object sender, ItemTappedEventArgs e) { FeedItem feedItem = (FeedItem)((ListView)sender).SelectedItem; if (feedItem.GetType() == typeof(Notification)) { Notification tappedNotification = (Notification)feedItem; var newPage = new NotificationDetail(tappedNotification); return(newPage); } else if (feedItem.GetType() == typeof(Question)) { Question tappedQuestion = (Question)feedItem; var newPage = new QuestionDetail(tappedQuestion); return(newPage); } return(new Page()); }
public ActionResult Details(int id) { var svc = new QuestionService(); var question = svc.GetQuestionById(id); var questionDetails = svc.GetQuestionChoicesByQuestionId(id).Select(x => new QuestionChoiceDetails() { QuestionChoiceText = x.QuestionChoiceText, QuestionChoiceValue = x.QuestionChoiceValue }).ToList(); var model = new QuestionDetail { QuestionId = question.QuestionId, QuestionText = question.QuestionText, QuestionType = Enum.GetName(typeof(QuestionType), question.QuestionType), QuestionChoiceText = questionDetails }; return(View(model)); }
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); }
public async Task <QuestionDetail> GetQuestionByID(Guid id) { using (IUnitOfWork unitOfWork = unitOfWorkFactory.Create()) { //List<Database.Models.QuestionDefinition> list = new List<Database.Models.QuestionDefinition>(); QuestionDetail question = (await unitOfWork.QuestionRepository.GetQuestionByIDAsync(id)).DeepCopyTo <QuestionDetail>(); IEnumerable <Database.Models.OptionDefinition> options = await unitOfWork.OptionRepository.GetOptionsByQuestionIDAsync(id); question.Options = options.Select(o => new OptionDefinition { Answer = o.Answer, ID = o.ID, IsCorrectAnswer = o.IsCorrectAnswer, Order = o.Order, QuestionID = o.QuestionID }).ToArray(); return(question); } }
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); }
/// <summary> /// /// </summary> /// <param name="idQuestion"></param> /// <param name="position"></param> /// <returns></returns> public QuestionDetail AddAnswer(Guid idQuestion, int position = -1) { var oneQuestionDetail = new QuestionDetail { IdQuestion = idQuestion, IsNext = CQuestionDetail.Yes }; if (-1 == position) { oneQuestionDetail.Order = GetMax(idQuestion) + 1; } else { oneQuestionDetail.Order = position; } oneQuestionDetail.Answer = string.Empty; oneQuestionDetail.StatusRegister = CStatusRegister.Active; return(oneQuestionDetail); }
public List<QuestionDetail> loadQuestionDetail(int _qid) { List<QuestionDetail> qds = new List<QuestionDetail>(); QuestionDetail qd; try { Conn = db.openConn(); sb = new StringBuilder(); sb.Remove(0, sb.Length); sb.Append(" SELECT ID,QID,AnsQus,AnsDate,AnsBy FROM tbQuestionDetail "); sb.Append(" WHERE (1=1) "); sb.Append(" AND QID='" + _qid + "' "); string sql; sql = sb.ToString(); com = new OleDbCommand(); com.CommandText = sql; com.CommandType = CommandType.Text; com.Connection = Conn; dr = com.ExecuteReader(); if (dr.HasRows) { DataTable dt = new DataTable(); dt.Load(dr); foreach (DataRow drw in dt.Rows) { qd = new QuestionDetail(); qd.ID = Convert.ToInt32(drw["ID"].ToString()); qd.QID = Convert.ToInt32(drw["QID"].ToString()); qd.AnsQus = Convert.ToString(drw["AnsQus"].ToString()); qd.AnsDate = Convert.ToDateTime(drw["AnsDate"].ToString()); qd.AnsBy = Convert.ToString(drw["AnsBy"].ToString()); qds.Add(qd); } } dr.Close(); } catch (Exception ex) { tr.Rollback(); Conn.Close(); return null; throw ex; } finally { Conn.Close(); } return qds; }
public bool CreateQuestionDetail(QuestionDetail _questionDetail) { bool result = false; try { Conn = db.openConn(); tr = Conn.BeginTransaction(); sb = new StringBuilder(); sb.Remove(0, sb.Length); sb.Append("INSERT INTO tbQuestionDetail(QID,AnsQus,AnsDate,AnsBy)"); sb.Append(" VALUES ("); sb.Append(" '" + _questionDetail.QID + "',"); sb.Append(" '" + _questionDetail.AnsQus + "',"); sb.Append(" now(),"); sb.Append(" '" + _questionDetail.AnsBy + "')"); string sqlSave; sqlSave = sb.ToString(); com = new OleDbCommand(); com.Connection = Conn; com.CommandText = sqlSave; com.Transaction = tr; com.Parameters.Clear(); com.ExecuteNonQuery(); tr.Commit(); result = true; } catch (Exception ex) { tr.Rollback(); Conn.Close(); return result; throw ex; } finally { Conn.Close(); } return result; }
internal QuestionDetail GetPrevious() { QuestionDetail questionDetail; switch (QID) { case 2: switch (OID) { case 0: return(questionDetail = new QuestionDetail(1, 0)); default: break; } break; case 3: switch (OID) { case 0: return(questionDetail = new QuestionDetail(2, 0)); default: break; } break; case 4: switch (OID) { case 0: return(questionDetail = new QuestionDetail(3, 0)); default: break; } break; case 5: switch (OID) { case 0: return(questionDetail = new QuestionDetail(32, 1)); default: break; } break; case 6: switch (OID) { case 0: return(questionDetail = new QuestionDetail(5, 0)); default: break; } break; case 7: switch (OID) { case 0: return(questionDetail = new QuestionDetail(1, 0)); default: break; } break; case 8: switch (OID) { case 0: return(questionDetail = new QuestionDetail(72, 2)); default: break; } break; case 9: switch (OID) { case 0: return(questionDetail = new QuestionDetail(1, 0)); //case 1: // return questionDetail = new QuestionDetail(1, 0); //case 2: // return questionDetail = new QuestionDetail(1, 0); case 3: return(questionDetail = new QuestionDetail(9, 0)); default: break; } break; case 10: switch (OID) { case 0: return(questionDetail = new QuestionDetail(93, 1)); //case 1: // return questionDetail = new QuestionDetail(93, 1); //case 2: // return questionDetail = new QuestionDetail(93, 1); default: break; } break; case 11: switch (OID) { case 0: return(questionDetail = new QuestionDetail(1, 0)); default: break; } break; case 12: switch (OID) { case 0: return(questionDetail = new QuestionDetail(81, 1)); default: break; } break; case 13: switch (OID) { case 0: return(questionDetail = new QuestionDetail(22, 1)); default: break; } break; case 14: switch (OID) { case 0: return(questionDetail = new QuestionDetail(13, 0)); default: break; } break; case 15: switch (OID) { case 0: return(questionDetail = new QuestionDetail(132, 1)); default: break; } break; case 16: switch (OID) { case 0: return(questionDetail = new QuestionDetail(15, 0)); default: break; } break; case 17: switch (OID) { case 0: return(questionDetail = new QuestionDetail(11, 0)); default: break; } break; case 18: switch (OID) { case 0: return(questionDetail = new QuestionDetail(172, 1)); default: break; } break; case 19: switch (OID) { case 0: return(questionDetail = new QuestionDetail(18, 0)); default: break; } break; case 20: switch (OID) { case 0: return(questionDetail = new QuestionDetail(41, 1)); default: break; } break; case 21: switch (OID) { case 0: return(questionDetail = new QuestionDetail(42, 3)); default: break; } break; case 23: switch (OID) { case 0: return(questionDetail = new QuestionDetail(6, 0)); default: break; } break; case 24: switch (OID) { case 0: return(questionDetail = new QuestionDetail(141, 1)); default: break; } break; case 25: switch (OID) { case 0: return(questionDetail = new QuestionDetail(142, 3)); default: break; } break; case 26: switch (OID) { case 0: return(questionDetail = new QuestionDetail(16, 0)); default: break; } break; case 27: switch (OID) { case 0: return(questionDetail = new QuestionDetail(112, 1)); default: break; } break; case 28: switch (OID) { case 0: return(questionDetail = new QuestionDetail(272, 1)); default: break; } break; case 29: switch (OID) { case 0: return(questionDetail = new QuestionDetail(28, 1)); default: break; } break; case 32: switch (OID) { case 1: return(questionDetail = new QuestionDetail(3, 0)); default: break; } break; case 41: switch (OID) { case 1: return(questionDetail = new QuestionDetail(4, 0)); default: break; } break; case 42: switch (OID) { case 1: return(questionDetail = new QuestionDetail(4, 0)); case 3: return(questionDetail = new QuestionDetail(42, 2)); default: break; } break; case 51: switch (OID) { case 1: return(questionDetail = new QuestionDetail(5, 0)); default: break; } break; case 61: switch (OID) { case 1: return(questionDetail = new QuestionDetail(6, 0)); default: break; } break; case 72: switch (OID) { case 1: return(questionDetail = new QuestionDetail(7, 0)); case 2: return(questionDetail = new QuestionDetail(72, 1)); default: break; } break; case 73: switch (OID) { case 1: return(questionDetail = new QuestionDetail(7, 0)); default: break; } break; case 81: switch (OID) { case 1: return(questionDetail = new QuestionDetail(8, 0)); default: break; } break; case 93: switch (OID) { case 1: return(questionDetail = new QuestionDetail(9, 0)); default: break; } break; case 112: switch (OID) { case 1: return(questionDetail = new QuestionDetail(11, 0)); default: break; } break; case 121: switch (OID) { case 1: return(questionDetail = new QuestionDetail(12, 0)); default: break; } break; case 141: switch (OID) { case 1: return(questionDetail = new QuestionDetail(14, 0)); default: break; } break; case 142: switch (OID) { case 1: return(questionDetail = new QuestionDetail(14, 0)); case 3: return(questionDetail = new QuestionDetail(142, 2)); default: break; } break; case 151: switch (OID) { case 1: return(questionDetail = new QuestionDetail(15, 0)); default: break; } break; case 161: switch (OID) { case 1: return(questionDetail = new QuestionDetail(16, 0)); default: break; } break; case 172: switch (OID) { case 1: return(questionDetail = new QuestionDetail(17, 0)); default: break; } break; case 182: switch (OID) { case 1: return(questionDetail = new QuestionDetail(18, 0)); default: break; } break; case 194: switch (OID) { case 1: return(questionDetail = new QuestionDetail(19, 0)); default: break; } break; case 201: switch (OID) { case 1: return(questionDetail = new QuestionDetail(20, 0)); case 2: return(questionDetail = new QuestionDetail(201, 1)); default: break; } break; case 202: switch (OID) { case 1: return(questionDetail = new QuestionDetail(20, 0)); case 2: return(questionDetail = new QuestionDetail(202, 1)); default: break; } break; case 211: switch (OID) { case 1: return(questionDetail = new QuestionDetail(21, 0)); default: break; } break; case 231: switch (OID) { case 1: return(questionDetail = new QuestionDetail(23, 0)); default: break; } break; case 241: switch (OID) { case 1: return(questionDetail = new QuestionDetail(24, 0)); default: break; } break; case 251: switch (OID) { case 1: return(questionDetail = new QuestionDetail(25, 0)); default: break; } break; case 261: switch (OID) { case 1: return(questionDetail = new QuestionDetail(26, 0)); default: break; } break; case 272: switch (OID) { case 1: return(questionDetail = new QuestionDetail(27, 0)); default: break; } break; case 282: switch (OID) { case 1: return(questionDetail = new QuestionDetail(28, 0)); default: break; } break; case 294: switch (OID) { case 1: return(questionDetail = new QuestionDetail(29, 0)); default: break; } break; default: break; } return(questionDetail = new QuestionDetail(0, 0)); }
public IHttpActionResult PostQuestionnaireQuestions([FromBody] QuestionnaireQuestionsRequest request) { QuestionaireQuestionResponse response = new QuestionaireQuestionResponse(); try { if (CommonHelpers.ValidateRequest(request.UserToken)) { List <QuestionDetail> QuestionAnswerList = new List <QuestionDetail>(); DBAgent = new DataAccessProvider(DataAccessProvider.ParamType.ServerCredentials, ConfigurationManager.AppSettings["DBServerName"], ConfigurationManager.AppSettings["DBUserName"], ConfigurationManager.AppSettings["DBPassword"]); DBAgent.ClearParams(); DBAgent.AddParameter("@ParamQuestionnaireID", request.QuestionnaireID); DBAgent.AddParameter("@ParamPQID", request.PQID); string data = DBAgent.ExecuteStoredProcedure("dbo.spGetAllQuestionAnswersForQuestionnaire"); if (data.Length > 0) { DataSet ds = CommonHelpers.GetDataSetFromXml(data); if (ds.Tables.Count > 0) { int CurrentQuestionID = 0; QuestionDetail qd = null; foreach (DataRow dr in ds.Tables[0].Rows) { if (CurrentQuestionID != int.Parse(dr["QuestionID"].ToString())) { if (qd != null) { //Save Previous Question QuestionAnswerList.Add(qd); } //New Question qd = new QuestionDetail(); qd.QuestionText = dr["QuestionText"].ToString(); qd.QuestionID = dr["QuestionID"].ToString(); CurrentQuestionID = int.Parse(dr["QuestionID"].ToString()); } AnswerDetail ans = new AnswerDetail(); ans.AnswerID = dr["AnswerID"].ToString(); ans.AnswerText = dr["AnswerText"].ToString(); ans.SelectedAnswer = bool.Parse(dr["SelectedAnswer"].ToString()); ans.AnswerPoints = int.Parse(dr["AnswerPoints"].ToString()); qd.QuestionAnswers.Add(ans); } QuestionAnswerList.Add(qd); //Adding last Question response.QuestionAnswerList = QuestionAnswerList; } } else { response.ErrorMessage = "No Data"; } } else { response.ErrorMessage = "Invalid Request"; DBAgent = new DataAccessProvider(DataAccessProvider.ParamType.ServerCredentials, ConfigurationManager.AppSettings["DBServerName"], ConfigurationManager.AppSettings["DBUserName"], ConfigurationManager.AppSettings["DBPassword"]); DBAgent.ClearParams(); DBAgent.AddParameter("@ParamRefID", request.PQID); DBAgent.AddParameter("@ParamRefType", "PQID"); DBAgent.AddParameter("@ParamAction", "IR"); DBAgent.AddParameter("@ParamComment", "Invalid Request from Mobile App - QuestionnaireQuestionsController - " + request.UserToken); DBAgent.ExecuteNonQuery("dbo.spAddUserAction"); } } catch (Exception ex) { response.ErrorMessage = ex.Message; CommonHelpers.writeLogToFile("API: PostQuestionnaireQuestions - QuestionnaireQuestionsController.cs", ex.Message + Environment.NewLine + ex.StackTrace); } return(Ok(response)); }
internal QuestionDetail GetCancel() { QuestionDetail questionDetail; switch (QID) { case 9: switch (OID) { case 1: return(questionDetail = new QuestionDetail(1, 0)); case 2: return(questionDetail = new QuestionDetail(1, 0)); case 3: return(questionDetail = new QuestionDetail(1, 0)); default: break; } break; case 10: switch (OID) { case 2: return(questionDetail = new QuestionDetail(9, 99999)); default: break; } break; case 32: switch (OID) { case 1: return(questionDetail = new QuestionDetail(2, 0)); default: break; } break; case 51: switch (OID) { case 1: return(questionDetail = new QuestionDetail(3, 0)); default: break; } break; case 52: switch (OID) { case 1: return(questionDetail = new QuestionDetail(5, 0)); default: break; } break; case 61: switch (OID) { case 1: return(questionDetail = new QuestionDetail(5, 0)); case 2: return(questionDetail = new QuestionDetail(5, 0)); default: break; } break; case 71: switch (OID) { case 2: return(questionDetail = new QuestionDetail(7, 0)); default: break; } break; case 72: switch (OID) { case 1: return(questionDetail = new QuestionDetail(1, 0)); case 2: return(questionDetail = new QuestionDetail(1, 0)); default: break; } break; case 73: switch (OID) { case 1: return(questionDetail = new QuestionDetail(1, 0)); default: break; } break; case 81: switch (OID) { case 1: return(questionDetail = new QuestionDetail(7, 0)); default: break; } break; case 82: switch (OID) { case 1: return(questionDetail = new QuestionDetail(7, 0)); default: break; } break; case 91: switch (OID) { case 2: return(questionDetail = new QuestionDetail(9, 0)); default: break; } break; case 92: switch (OID) { case 2: return(questionDetail = new QuestionDetail(9, 0)); default: break; } break; case 93: switch (OID) { case 1: return(questionDetail = new QuestionDetail(9, 0)); default: break; } break; case 102: switch (OID) { case 1: return(questionDetail = new QuestionDetail(10, 0)); default: break; } break; case 112: switch (OID) { case 1: return(questionDetail = new QuestionDetail(1, 0)); default: break; } break; case 121: switch (OID) { case 1: return(questionDetail = new QuestionDetail(12, 0)); case 2: return(questionDetail = new QuestionDetail(121, 21)); case 3: return(questionDetail = new QuestionDetail(121, 31)); case 4: return(questionDetail = new QuestionDetail(12, 0)); case 5: return(questionDetail = new QuestionDetail(121, 6)); default: break; } break; case 122: switch (OID) { case 1: return(questionDetail = new QuestionDetail(12, 0)); default: break; } break; case 151: switch (OID) { case 1: return(questionDetail = new QuestionDetail(13, 0)); default: break; } break; case 152: switch (OID) { case 1: return(questionDetail = new QuestionDetail(15, 0)); default: break; } break; case 161: switch (OID) { case 1: return(questionDetail = new QuestionDetail(15, 0)); case 2: return(questionDetail = new QuestionDetail(15, 0)); default: break; } break; case 171: switch (OID) { case 6: return(questionDetail = new QuestionDetail(171, 7)); case 7: return(questionDetail = new QuestionDetail(17, 0)); default: break; } break; case 172: switch (OID) { case 1: return(questionDetail = new QuestionDetail(17, 0)); default: break; } break; case 182: switch (OID) { case 1: return(questionDetail = new QuestionDetail(17, 0)); default: break; } break; case 191: switch (OID) { case 2: return(questionDetail = new QuestionDetail(19, 0)); default: break; } break; case 192: switch (OID) { case 2: return(questionDetail = new QuestionDetail(19, 0)); default: break; } break; case 193: switch (OID) { case 2: return(questionDetail = new QuestionDetail(19, 0)); default: break; } break; case 194: switch (OID) { case 1: return(questionDetail = new QuestionDetail(19, 0)); case 2: return(questionDetail = new QuestionDetail(19, 0)); case 5: return(questionDetail = new QuestionDetail(194, 6)); default: break; } break; case 201: switch (OID) { case 1: return(questionDetail = new QuestionDetail(4, 0)); case 2: return(questionDetail = new QuestionDetail(20, 0)); case 3: return(questionDetail = new QuestionDetail(4, 0)); case 4: return(questionDetail = new QuestionDetail(4, 0)); default: break; } break; case 211: switch (OID) { case 1: return(questionDetail = new QuestionDetail(4, 0)); case 2: return(questionDetail = new QuestionDetail(21, 0)); case 3: return(questionDetail = new QuestionDetail(211, 4)); case 4: return(questionDetail = new QuestionDetail(4, 0)); default: break; } break; case 231: switch (OID) { case 1: return(questionDetail = new QuestionDetail(6, 0)); case 2: return(questionDetail = new QuestionDetail(23, 0)); case 3: return(questionDetail = new QuestionDetail(6, 0)); default: break; } break; case 241: switch (OID) { case 1: return(questionDetail = new QuestionDetail(14, 0)); case 2: return(questionDetail = new QuestionDetail(24, 0)); case 3: return(questionDetail = new QuestionDetail(14, 0)); default: break; } break; case 251: switch (OID) { case 1: return(questionDetail = new QuestionDetail(14, 0)); case 2: return(questionDetail = new QuestionDetail(25, 0)); case 3: return(questionDetail = new QuestionDetail(251, 4)); case 4: return(questionDetail = new QuestionDetail(14, 0)); default: break; } break; case 261: switch (OID) { case 1: return(questionDetail = new QuestionDetail(16, 0)); case 2: return(questionDetail = new QuestionDetail(26, 0)); case 3: return(questionDetail = new QuestionDetail(16, 0)); default: break; } break; case 271: switch (OID) { case 6: return(questionDetail = new QuestionDetail(271, 7)); case 7: return(questionDetail = new QuestionDetail(27, 0)); default: break; } break; case 272: switch (OID) { case 1: return(questionDetail = new QuestionDetail(27, 0)); default: break; } break; case 282: switch (OID) { case 1: return(questionDetail = new QuestionDetail(27, 0)); default: break; } break; case 291: switch (OID) { case 2: return(questionDetail = new QuestionDetail(29, 0)); default: break; } break; case 292: switch (OID) { case 2: return(questionDetail = new QuestionDetail(29, 0)); default: break; } break; case 293: switch (OID) { case 2: return(questionDetail = new QuestionDetail(29, 0)); default: break; } break; case 294: switch (OID) { case 1: return(questionDetail = new QuestionDetail(29, 0)); case 2: return(questionDetail = new QuestionDetail(29, 0)); case 5: return(questionDetail = new QuestionDetail(294, 6)); default: break; } break; case 9999: switch (OID) { case 1: return(questionDetail = new QuestionDetail(9999, 6)); case 2: return(questionDetail = new QuestionDetail(9999, 21)); case 3: return(questionDetail = new QuestionDetail(9999, 31)); case 4: return(questionDetail = new QuestionDetail(9999, 1)); case 5: return(questionDetail = new QuestionDetail(9999, 6)); default: break; } break; default: break; } return(questionDetail = new QuestionDetail(0, 0)); }
public int SaveFormAggregate(IList <StructXmlModel> Aggregate, Guid Idaccount, String Name) { DateTime localDate = DateTime.Now; string LogFile = localDate.ToString("MMyy"); var servicedata = Context.Accounts.Where(x => x.Id == Idaccount); var serv = Context.Services.Where(z => z.IdAccount == Idaccount); string name = "Formulario_" + serv.Count() + " " + servicedata.First().Name + "_" + LogFile; Name = name; using (var transaction = Context.Database.BeginTransaction()) { try { Service service = null; ServiceDetail serviceDetail = null; Question question = null; QuestionDetail questionDetail = null; int orderService = 0; var typeService = Context.TypeServices.Where(x => x.StatusRegister == "A"); var custumer = Context.Customers.Where(x => x.IdAccount == Idaccount); var channel = Context.Channels.Where(x => x.IdAccount == Idaccount); var stateRegister = EntityState.Added; service = new Service(); service.Code = custumer.First().Abbreviation; service.Name = Name; service.IdTypeService = typeService.First().Id; service.PollTitle = Name; service.IdAccount = Idaccount; service.IdCustomer = custumer.First().Id; service.CreationDate = DateTime.Now; service.StatusRegister = "A"; service.IdChannel = channel.First().Id; service.Icon = "glyphicon glyphicon-king"; service.IconColor = "bg-red"; service.Template = "Matrix"; Context.Services.Add(service); Context.Entry(service).State = stateRegister; Context.SaveChanges(); foreach (var ServiceAggregate in Aggregate) { serviceDetail = new ServiceDetail(); Guid idService = service.Id; serviceDetail.IdService = idService; serviceDetail.Order = orderService; serviceDetail.StatusRegister = "A"; serviceDetail.SectionTitle = ServiceAggregate.QuestionText; serviceDetail.Weight = 0; serviceDetail.HasPhoto = false; serviceDetail.GroupName = null; serviceDetail.IdSection = null; serviceDetail.NumberOfCopies = 1; if (ServiceAggregate.IsDynamic) { serviceDetail.IsDynamic = ServiceAggregate.IsDynamic; } Context.ServiceDetails.Add(serviceDetail); Context.Entry(serviceDetail).State = stateRegister; Context.SaveChanges(); orderService++; int orderQuestion = 0; foreach (var QuestionAggregate in ServiceAggregate.Question) { if (QuestionAggregate.id != null) { question = new Question(); question.IdServiceDetail = serviceDetail.Id; question.Title = QuestionAggregate.QuestionText; question.StatusRegister = "A"; question.Order = orderQuestion; question.Weight = 0; question.IdTypePoll = typePollAuto(QuestionAggregate.QuestionTipo); question.HasPhoto = "N"; question.CountPhoto = 0; question.IdProduct = null; question.IdProductCategory = null; question.AnswerRequired = false; question.sequence = 1; question.Aggregatefield = QuestionAggregate.id + "_" + QuestionAggregate.valueText; Context.Questions.Add(question); Context.Entry(question).State = stateRegister; Context.SaveChanges(); orderQuestion++; int orderQuestionDetail = 0; if (QuestionAggregate.Detail != null) { foreach (var QuestionDetailAggregate in QuestionAggregate.Detail) { questionDetail = new QuestionDetail(); questionDetail.IdQuestion = question.Id; questionDetail.Answer = QuestionDetailAggregate.QuestionText; questionDetail.StatusRegister = "A"; questionDetail.Order = orderQuestionDetail; questionDetail.Weight = 0; questionDetail.IsNext = "N"; questionDetail.QuestionLink = null; questionDetail.IdQuestionRequired = null; questionDetail.Aggregatefield = QuestionDetailAggregate.valueText; Context.QuestionDetails.Add(questionDetail); Context.Entry(questionDetail).State = stateRegister; Context.SaveChanges(); orderQuestionDetail++; } } } } } transaction.Commit(); return(1); } catch (Exception) { transaction.Rollback(); return(0); } } }
public QuestionDetail GetQuestionDetail(int questionId) { List <QuestionComment> questionComments = new List <QuestionComment>(); List <AnswerForAQuestion> answersForAQuestions = new List <AnswerForAQuestion>(); QuestionDetail tempQuestionDetails = new QuestionDetail(); QuestionDetail questionDetails = new QuestionDetail(); answersForAQuestions = _dbConnection.Query <AnswerForAQuestion>(@"select a.AnswerId, a.AnswerContent, (select count(1) from Vote as v1 where v1.AnswerId=a.AnswerId and v1.UserId=1) as IsVotedForAnswer, (select count(v.VoteId) from Vote as v where v.AnswerId = a.AnswerId) as TotalVote, a.CreatedDate, u.FirstName + ' ' + u.LastName as UserFullName, u.Avatar from Answer as a inner join [User] as u on u.UserId = a.UserId where a.QuestionId = @questionId order by a.CreatedDate", new { questionId = questionId }).ToList(); var answerComments = _dbConnection.Query <AnswerComment>(@"select ac.AnswerCommentId, ac.AnswerId, ac.CommentContent, ac.UserId, ac.CreatedDate, u.Avatar from AnswerComment as ac inner join Answer as a on ac.AnswerId = a.AnswerId inner join [User] as u on ac.UserId = u.userId where a.QuestionId = @questionId", new { questionId = questionId }); foreach (var answer in answersForAQuestions) { answer.AnswerComments = answerComments.Where(x => x.AnswerId == answer.AnswerId).ToList(); } questionComments = _dbConnection.Query <QuestionComment>(@"select qc.QuestionCommentId, qc.CommentContent, qc.QuestionId, qc.CreatedDate, u.FirstName + ' ' + u.LastName as Commenter, u.Avatar from QuestionComment as qc inner join [User] as u on u.UserId = qc.UserId where qc.QuestionId = @questionId", new { questionId = questionId }).ToList(); tempQuestionDetails = _dbConnection.QueryFirstOrDefault <QuestionDetail>(@"select q.QuestionId, q.QuestionTitle, q.QuestionContent, u.FirstName + ' ' + u.LastName as QuestionPotster from Question as q inner join [User] as u on u.UserId = q.UserId where q.QuestionId = @questionId", new { questionId = questionId }); if (tempQuestionDetails != null) { questionDetails.QuestionId = tempQuestionDetails.QuestionId; questionDetails.QuestionContent = tempQuestionDetails.QuestionContent; questionDetails.QuestionPotster = tempQuestionDetails.QuestionPotster; questionDetails.QuestionTitle = tempQuestionDetails.QuestionTitle; } questionDetails.Answers = answersForAQuestions; questionDetails.Comments = questionComments; return(questionDetails); }
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); }
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 + "]"); }
internal QuestionDetail GetNext() { QuestionDetail questionDetail; switch (QID) { case 1: switch (OID) { case 1: return(questionDetail = new QuestionDetail(2, 0)); case 2: return(questionDetail = new QuestionDetail(7, 0)); case 3: return(questionDetail = new QuestionDetail(9, 0)); case 4: return(questionDetail = new QuestionDetail(11, 0)); default: break; } break; case 2: switch (OID) { case 1: return(questionDetail = new QuestionDetail(3, 0)); case 2: return(questionDetail = new QuestionDetail(22, 1)); default: break; } break; case 3: switch (OID) { case 1: return(questionDetail = new QuestionDetail(4, 0)); case 2: return(questionDetail = new QuestionDetail(32, 1)); case 3: break; default: break; } break; case 4: switch (OID) { case 1: return(questionDetail = new QuestionDetail(41, 1)); case 2: return(questionDetail = new QuestionDetail(42, 1)); default: break; } break; case 5: switch (OID) { case 1: return(questionDetail = new QuestionDetail(51, 1)); case 2: return(questionDetail = new QuestionDetail(52, 1)); case 3: return(questionDetail = new QuestionDetail(53, 1)); default: break; } break; case 6: switch (OID) { case 1: return(questionDetail = new QuestionDetail(61, 1)); case 2: return(questionDetail = new QuestionDetail(23, 0)); case 3: return(questionDetail = new QuestionDetail(63, 1)); default: break; } break; case 7: switch (OID) { case 1: return(questionDetail = new QuestionDetail(71, 1)); case 2: return(questionDetail = new QuestionDetail(72, 1)); case 3: return(questionDetail = new QuestionDetail(73, 1)); default: break; } break; case 8: switch (OID) { case 1: return(questionDetail = new QuestionDetail(81, 1)); case 2: return(questionDetail = new QuestionDetail(82, 1)); default: break; } break; case 9: // 社團模式>選擇社團動作 switch (OID) { case 1: return(questionDetail = new QuestionDetail(91, 1)); case 2: return(questionDetail = new QuestionDetail(92, 1)); case 3: return(questionDetail = new QuestionDetail(93, 1)); default: break; } break; case 10: // 社團模式>查詢社團>查詢社團動作 switch (OID) { case 1: return(questionDetail = new QuestionDetail(101, 1)); case 2: return(questionDetail = new QuestionDetail(102, 1)); default: break; } break; case 11: switch (OID) { case 1: return(questionDetail = new QuestionDetail(17, 0)); case 2: return(questionDetail = new QuestionDetail(112, 1)); default: break; } break; case 12: switch (OID) { case 1: return(questionDetail = new QuestionDetail(121, 1)); case 2: return(questionDetail = new QuestionDetail(122, 1)); default: break; } break; case 13: switch (OID) { case 1: return(questionDetail = new QuestionDetail(14, 0)); case 2: return(questionDetail = new QuestionDetail(132, 1)); default: break; } break; case 14: switch (OID) { case 1: return(questionDetail = new QuestionDetail(141, 1)); case 2: return(questionDetail = new QuestionDetail(142, 1)); default: break; } break; case 15: switch (OID) { case 1: return(questionDetail = new QuestionDetail(151, 1)); case 2: return(questionDetail = new QuestionDetail(152, 1)); case 3: return(questionDetail = new QuestionDetail(153, 1)); default: break; } break; case 16: switch (OID) { case 1: return(questionDetail = new QuestionDetail(161, 1)); case 2: return(questionDetail = new QuestionDetail(26, 0)); case 3: return(questionDetail = new QuestionDetail(163, 1)); default: break; } break; case 17: switch (OID) { case 1: return(questionDetail = new QuestionDetail(171, 1)); case 2: return(questionDetail = new QuestionDetail(172, 1)); default: break; } break; case 18: switch (OID) { case 1: return(questionDetail = new QuestionDetail(19, 0)); case 2: return(questionDetail = new QuestionDetail(182, 1)); default: break; } break; case 19: switch (OID) { case 1: return(questionDetail = new QuestionDetail(191, 1)); case 2: return(questionDetail = new QuestionDetail(192, 1)); case 3: return(questionDetail = new QuestionDetail(193, 1)); case 4: return(questionDetail = new QuestionDetail(194, 1)); default: break; } break; case 20: switch (OID) { case 1: return(questionDetail = new QuestionDetail(201, 1)); case 2: return(questionDetail = new QuestionDetail(202, 1)); default: break; } break; case 21: switch (OID) { case 1: return(questionDetail = new QuestionDetail(211, 1)); case 2: return(questionDetail = new QuestionDetail(212, 1)); default: break; } break; case 22: switch (OID) { case 1: return(questionDetail = new QuestionDetail(13, 0)); default: break; } break; case 23: switch (OID) { case 1: return(questionDetail = new QuestionDetail(231, 1)); case 2: return(questionDetail = new QuestionDetail(232, 1)); default: break; } break; case 24: switch (OID) { case 1: return(questionDetail = new QuestionDetail(241, 1)); case 2: return(questionDetail = new QuestionDetail(242, 1)); default: break; } break; case 25: switch (OID) { case 1: return(questionDetail = new QuestionDetail(251, 1)); case 2: return(questionDetail = new QuestionDetail(252, 1)); default: break; } break; case 26: switch (OID) { case 1: return(questionDetail = new QuestionDetail(261, 1)); case 2: return(questionDetail = new QuestionDetail(262, 1)); default: break; } break; case 27: switch (OID) { case 1: return(questionDetail = new QuestionDetail(271, 1)); case 2: return(questionDetail = new QuestionDetail(272, 1)); default: break; } break; case 28: switch (OID) { case 1: return(questionDetail = new QuestionDetail(29, 0)); case 2: return(questionDetail = new QuestionDetail(282, 1)); default: break; } break; case 29: switch (OID) { case 1: return(questionDetail = new QuestionDetail(291, 1)); case 2: return(questionDetail = new QuestionDetail(292, 1)); case 3: return(questionDetail = new QuestionDetail(293, 1)); case 4: return(questionDetail = new QuestionDetail(294, 1)); default: break; } break; case 32: switch (OID) { case 1: return(questionDetail = new QuestionDetail(5, 0)); default: break; } break; case 41: switch (OID) { case 1: return(questionDetail = new QuestionDetail(20, 0)); default: break; } break; case 42: switch (OID) { case 1: return(questionDetail = new QuestionDetail(42, 2)); case 2: return(questionDetail = new QuestionDetail(42, 3)); case 3: return(questionDetail = new QuestionDetail(21, 0)); default: break; } break; case 51: switch (OID) { case 1: return(questionDetail = new QuestionDetail(6, 0)); default: break; } break; case 52: switch (OID) { case 1: return(questionDetail = new QuestionDetail(52, 2)); default: break; } break; case 61: switch (OID) { case 1: return(questionDetail = new QuestionDetail(61, 2)); case 2: return(questionDetail = new QuestionDetail(61, 3)); default: break; } break; case 71: switch (OID) { case 1: return(questionDetail = new QuestionDetail(71, 2)); case 2: return(questionDetail = new QuestionDetail(71, 3)); default: break; } break; case 72: switch (OID) { case 1: return(questionDetail = new QuestionDetail(72, 2)); case 2: return(questionDetail = new QuestionDetail(8, 0)); default: break; } break; case 81: switch (OID) { case 1: return(questionDetail = new QuestionDetail(12, 0)); default: break; } break; case 82: switch (OID) { case 1: return(questionDetail = new QuestionDetail(82, 2)); default: break; } break; case 91: switch (OID) { case 1: return(questionDetail = new QuestionDetail(91, 2)); case 2: return(questionDetail = new QuestionDetail(91, 3)); case 3: return(questionDetail = new QuestionDetail(0, 0)); default: break; } break; case 92: switch (OID) { case 1: return(questionDetail = new QuestionDetail(92, 2)); case 2: return(questionDetail = new QuestionDetail(92, 3)); default: break; } break; case 93: switch (OID) { case 1: return(questionDetail = new QuestionDetail(10, 0)); default: break; } break; case 102: switch (OID) { case 1: return(questionDetail = new QuestionDetail(102, 2)); default: break; } break; case 112: switch (OID) { case 1: return(questionDetail = new QuestionDetail(27, 0)); default: break; } break; case 121: switch (OID) { case 1: return(questionDetail = new QuestionDetail(121, 2)); case 2: return(questionDetail = new QuestionDetail(121, 3)); case 21: return(questionDetail = new QuestionDetail(121, 3)); case 3: return(questionDetail = new QuestionDetail(121, 4)); case 31: return(questionDetail = new QuestionDetail(121, 4)); case 4: return(questionDetail = new QuestionDetail(121, 5)); case 5: return(questionDetail = new QuestionDetail(81, 1)); default: break; } break; case 122: switch (OID) { case 1: return(questionDetail = new QuestionDetail(122, 2)); default: break; } break; case 132: switch (OID) { case 1: return(questionDetail = new QuestionDetail(15, 0)); default: break; } break; case 141: switch (OID) { case 1: return(questionDetail = new QuestionDetail(24, 0)); default: break; } break; case 142: switch (OID) { case 1: return(questionDetail = new QuestionDetail(142, 2)); case 2: return(questionDetail = new QuestionDetail(142, 3)); case 3: return(questionDetail = new QuestionDetail(25, 0)); default: break; } break; case 151: switch (OID) { case 1: return(questionDetail = new QuestionDetail(16, 0)); default: break; } break; case 152: switch (OID) { case 1: return(questionDetail = new QuestionDetail(152, 2)); default: break; } break; case 153: switch (OID) { case 1: return(questionDetail = new QuestionDetail(153, 2)); default: break; } break; case 161: switch (OID) { case 1: return(questionDetail = new QuestionDetail(161, 2)); case 2: return(questionDetail = new QuestionDetail(161, 3)); default: break; } break; case 171: switch (OID) { case 1: return(questionDetail = new QuestionDetail(171, 2)); case 2: return(questionDetail = new QuestionDetail(171, 3)); case 3: return(questionDetail = new QuestionDetail(171, 4)); case 4: return(questionDetail = new QuestionDetail(171, 5)); case 5: return(questionDetail = new QuestionDetail(171, 6)); case 6: return(questionDetail = new QuestionDetail(171, 4)); case 7: return(questionDetail = new QuestionDetail(171, 8)); default: break; } break; case 172: switch (OID) { case 1: return(questionDetail = new QuestionDetail(18, 0)); default: break; } break; case 182: switch (OID) { case 1: return(questionDetail = new QuestionDetail(182, 2)); case 2: return(questionDetail = new QuestionDetail(182, 3)); default: break; } break; case 191: switch (OID) { case 1: return(questionDetail = new QuestionDetail(191, 2)); case 2: return(questionDetail = new QuestionDetail(191, 3)); default: break; } break; case 192: switch (OID) { case 1: return(questionDetail = new QuestionDetail(192, 2)); case 2: return(questionDetail = new QuestionDetail(192, 3)); default: break; } break; case 193: switch (OID) { case 1: return(questionDetail = new QuestionDetail(193, 2)); case 2: return(questionDetail = new QuestionDetail(193, 3)); default: break; } break; case 194: switch (OID) { case 1: return(questionDetail = new QuestionDetail(194, 2)); case 2: return(questionDetail = new QuestionDetail(194, 3)); case 3: return(questionDetail = new QuestionDetail(194, 4)); case 4: return(questionDetail = new QuestionDetail(194, 5)); case 5: return(questionDetail = new QuestionDetail(194, 1)); default: break; } break; case 201: switch (OID) { case 1: return(questionDetail = new QuestionDetail(201, 2)); case 2: return(questionDetail = new QuestionDetail(201, 3)); case 3: return(questionDetail = new QuestionDetail(201, 4)); case 4: return(questionDetail = new QuestionDetail(201, 5)); default: break; } break; case 202: switch (OID) { case 1: return(questionDetail = new QuestionDetail(202, 2)); case 2: return(questionDetail = new QuestionDetail(201, 3)); default: break; } break; case 211: switch (OID) { case 1: return(questionDetail = new QuestionDetail(211, 2)); case 2: return(questionDetail = new QuestionDetail(211, 3)); case 3: return(questionDetail = new QuestionDetail(21, 99)); case 4: return(questionDetail = new QuestionDetail(211, 5)); case 5: return(questionDetail = new QuestionDetail(211, 6)); default: break; } break; case 212: switch (OID) { case 1: return(questionDetail = new QuestionDetail(212, 2)); case 2: return(questionDetail = new QuestionDetail(211, 3)); default: break; } break; case 231: switch (OID) { case 1: return(questionDetail = new QuestionDetail(231, 2)); case 2: return(questionDetail = new QuestionDetail(231, 3)); case 3: return(questionDetail = new QuestionDetail(231, 4)); default: break; } break; case 232: switch (OID) { case 1: return(questionDetail = new QuestionDetail(232, 2)); case 2: return(questionDetail = new QuestionDetail(231, 3)); default: break; } break; case 241: switch (OID) { case 1: return(questionDetail = new QuestionDetail(241, 2)); case 2: return(questionDetail = new QuestionDetail(241, 3)); case 3: return(questionDetail = new QuestionDetail(241, 4)); case 4: return(questionDetail = new QuestionDetail(241, 5)); default: break; } break; case 242: switch (OID) { case 1: return(questionDetail = new QuestionDetail(242, 2)); case 2: return(questionDetail = new QuestionDetail(241, 3)); default: break; } break; case 251: switch (OID) { case 1: return(questionDetail = new QuestionDetail(251, 2)); case 2: return(questionDetail = new QuestionDetail(251, 3)); case 3: return(questionDetail = new QuestionDetail(25, 99)); case 4: return(questionDetail = new QuestionDetail(251, 5)); case 5: return(questionDetail = new QuestionDetail(251, 6)); default: break; } break; case 252: switch (OID) { case 1: return(questionDetail = new QuestionDetail(252, 2)); case 2: return(questionDetail = new QuestionDetail(251, 3)); default: break; } break; case 261: switch (OID) { case 1: return(questionDetail = new QuestionDetail(261, 2)); case 2: return(questionDetail = new QuestionDetail(261, 3)); case 3: return(questionDetail = new QuestionDetail(261, 4)); default: break; } break; case 262: switch (OID) { case 1: return(questionDetail = new QuestionDetail(262, 2)); case 2: return(questionDetail = new QuestionDetail(261, 3)); default: break; } break; case 271: switch (OID) { case 1: return(questionDetail = new QuestionDetail(271, 2)); case 2: return(questionDetail = new QuestionDetail(271, 3)); case 3: return(questionDetail = new QuestionDetail(271, 4)); case 4: return(questionDetail = new QuestionDetail(271, 5)); case 5: return(questionDetail = new QuestionDetail(271, 6)); case 6: return(questionDetail = new QuestionDetail(271, 4)); case 7: return(questionDetail = new QuestionDetail(271, 8)); default: break; } break; case 272: switch (OID) { case 1: return(questionDetail = new QuestionDetail(28, 0)); default: break; } break; case 282: switch (OID) { case 1: return(questionDetail = new QuestionDetail(282, 2)); case 2: return(questionDetail = new QuestionDetail(282, 3)); default: break; } break; case 291: switch (OID) { case 1: return(questionDetail = new QuestionDetail(291, 2)); case 2: return(questionDetail = new QuestionDetail(291, 3)); default: break; } break; case 292: switch (OID) { case 1: return(questionDetail = new QuestionDetail(292, 2)); case 2: return(questionDetail = new QuestionDetail(292, 3)); default: break; } break; case 293: switch (OID) { case 1: return(questionDetail = new QuestionDetail(293, 2)); case 2: return(questionDetail = new QuestionDetail(293, 3)); default: break; } break; case 294: switch (OID) { case 1: return(questionDetail = new QuestionDetail(294, 2)); case 2: return(questionDetail = new QuestionDetail(294, 3)); case 3: return(questionDetail = new QuestionDetail(294, 4)); case 4: return(questionDetail = new QuestionDetail(294, 5)); case 5: return(questionDetail = new QuestionDetail(294, 1)); default: break; } break; case 9999: switch (OID) { case 1: return(questionDetail = new QuestionDetail(9999, 2)); case 2: return(questionDetail = new QuestionDetail(9999, 3)); case 21: return(questionDetail = new QuestionDetail(9999, 3)); case 3: return(questionDetail = new QuestionDetail(9999, 4)); case 31: return(questionDetail = new QuestionDetail(9999, 4)); case 4: return(questionDetail = new QuestionDetail(9999, 5)); case 5: return(questionDetail = new QuestionDetail(9999, 1)); default: break; } break; default: break; } return(questionDetail = new QuestionDetail(0, 0)); }