Example #1
0
        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("資料庫溝通失敗");
        }