Esempio n. 1
0
        public void OnCreateOrder()
        {
            //if (_QXValue.Contains("|62|"))//控制是否自动生成订单
            //{

            List <PbProject.Model.Tb_Ticket_SkyWay> skyList = new PbProject.Logic.Order.Tb_Ticket_SkyWayBLL().GetSkyWayListBySQLWhere("OrderId='" + _order.OrderId + "'");
            string RTContent = skyList[0].NewPnrContent.Replace("\r", "").Replace("\t", "").Replace("\n", "");

            PnrAnalysis.FormatPNR ss = new PnrAnalysis.FormatPNR();
            string PATContent        = ss.RemoveHideChar(skyList[0].Pat).Replace("\r", "").Replace("\t", "").Replace("\n", "");

            #region 处理高低开
            if (!_order.Space.Contains("1"))//不为子舱位
            {
                string bb = "";
                PnrAnalysis.PatModel sss = ss.GetPATInfo(skyList[0].NewPnrContent, out bb);
                if (sss.ChildPat != null)
                {
                    for (int i = 0; i < sss.PatList.Count; i++)
                    {
                        if (sss.PatList[i].SeatGroup == sss.ChildPat.SeatGroup)
                        {
                            sss.PatList.Remove(sss.PatList[i]);
                            break;
                        }
                    }
                    PnrAnalysis.PatInfo patFirst = sss.PatList[0];
                    PnrAnalysis.PatInfo patLast  = sss.PatList[sss.PatList.Count - 1];
                    //if (_QXValue.Contains("|60|"))//低开开关是否打开
                    //{
                    PATContent = ss.NewPatData(patFirst);
                    //}
                    //else
                    //{
                    //    PATContent = ss.NewPatData(patLast);
                    //}
                    bool IsOnePrice = false;
                    RTContent = ss.RemoveChildSeat(RTContent, out IsOnePrice);
                }
            }
            #endregion

            //OnErrorNew(1, "票盟开始生成订单", "票盟生成订单");
            DataSet dsReson = _pmService.CreateOrderByPAT(_order.PolicyId, _order.BigCode, HttpUtility.UrlEncode(RTContent), HttpUtility.UrlEncode(PATContent), "0", _pmAccout, _pmAg);

            string mesPMCreate = "table's count:" + dsReson.Tables.Count + "&";

            if (dsReson.Tables.Count <= 1)
            {
                for (int i = 0; i < dsReson.Tables[0].Rows.Count; i++)
                {
                    for (int j = 0; j < dsReson.Tables[0].Columns.Count; j++)
                    {
                        mesPMCreate = mesPMCreate + dsReson.Tables[0].Columns[i].ColumnName + ":" + dsReson.Tables[0].Rows[i][j].ToString() + "/";//DataTable转化成String类型
                    }
                }
                mesPMCreate = "table1's name:" + dsReson.Tables[0].TableName + "/table1's content:" + mesPMCreate;
                CreateLog(_order.OrderId, "预定", mesPMCreate, 1);
                //OnErrorNew(1, "票盟生成订单失败", "票盟生成订单");
            }
            else
            {
                mesPMCreate = mesPMCreate + "&";
                for (int i = 0; i < dsReson.Tables[1].Rows.Count; i++)
                {
                    for (int j = 0; j < dsReson.Tables[1].Columns.Count; j++)
                    {
                        mesPMCreate = mesPMCreate + dsReson.Tables[1].Columns[i].ColumnName + ":" + dsReson.Tables[1].Rows[i][j].ToString() + "/";
                    }
                }
                mesPMCreate = "table2's name:" + dsReson.Tables[0].TableName + "/table2's content:" + mesPMCreate;

                if (dsReson.Tables[0].Rows[0]["statuscode"].ToString() == "0")
                {
                    CreateLog(_order.OrderId, "预定", "票盟生成订单成功!", 3);
                    OnPay(Convert.ToDecimal(dsReson.Tables[1].Rows[0]["payfee"].ToString()), dsReson.Tables[1].Rows[0]["orderid"].ToString(), mesPMCreate);
                    //OnErrorNew(1, "票盟生成订单成功", "票盟生成订单");
                }
                else
                {
                    //票盟生成订单失败
                    //OnErrorNew(1, 票盟生成订单失败, "票盟生成订单");
                    CreateLog(_order.OrderId, "预定", "票盟生成订单失败:" + mesPMCreate, 3);
                }
            }
            //OnErrorNew(1, mesPMCreate, "PMdataset");
            //}
        }