internal static string CommunicateUserInfo(string userId, int QID, int OID, string postbackData, string channelAccessToken) { UserStatus userStatus; OrderInfo orderInfo; int result; switch (QID) { case 71: switch (OID) { case 3: // 先拿到UserStatus裡面的TempData,上一步存的是OrderID userStatus = new UserStatus(userId); userStatus.SelectByUserID(); // 把資料存進OrderUserTable裡 orderInfo = new OrderInfo(userId); orderInfo.OrderID = userStatus.TempData; result = orderInfo.InsertOrdeUserTable(); if (result > 0) { List <OrderInfo> list = orderInfo.SelectMyOrderByOrderID(); if (list[0].OrderStatus == "available") { string CheckMessage = "成功參加訂單~~\n此訂單正在推播中~~\n可以直接點選上面選項直接訂購喔~~"; // isRock.LineBot.Utility.PushMessage(userId, CheckMessage, channelAccessToken); OrderTemp orderTemp = new OrderTemp(userId); orderTemp.OrderPartitionID = list[0].OrderPartitionID; orderTemp.UpdateOrderPartitionIDByUserID(); string JasonMessage = FlexMaker.MakeSearchingItem(QID, OID, userId); isRock.LineBot.Utility.PushMessagesWithJSON(userId, JasonMessage, channelAccessToken); return(CheckMessage); } else { return("成功參加訂單"); } } else { return("參加訂單失敗"); } default: break; } break; case 82: switch (OID) { case 2: OrderTemp orderTemp = new OrderTemp(userId); orderTemp.SelectByUserID(); orderInfo = new OrderInfo(userId); orderInfo.OrderPartitionID = orderTemp.OrderPartitionID; orderInfo.SelectMyOrderTableByOrderPartitionID(); switch (postbackData) { case "MyOrderPartition": // 刪除我的週期性訂單的其中一筆 result = orderInfo.DeleteMyOrderPartitionByUserIDandOrderPartitionID(); if (result > 0) { return("成功刪除訂單"); } else { return("刪除訂單失敗"); } case "MyOrder": // 刪除完整我的週期性訂單 result = orderInfo.DeleteMyOrderByUserIDandOrderID(); if (result > 0) { return("成功刪除訂單"); } else { return("刪除訂單失敗"); } case "MyOnceOrder": // 刪除一次性我的訂單 result = orderInfo.DeleteMyOrderByUserIDandOrderID(); if (result > 0) { return("成功刪除訂單"); } else { return("刪除訂單失敗"); } default: break; } break; default: break; } break; default: break; } return("資料庫溝通失敗"); }