protected override string ExecuteCore() { StringBuilder str = new StringBuilder(); var flights = ReserveViewConstuctor.GetQueryFlightView(_pnr.Voyage.Segments, _pnr.Voyage.Type, _pnr.Passengers.First().Type, _pnr.IsTeam); var orderView = GetOrderView(OrderSource.InterfaceOrder, _pnr, new ChinaPay.B3B.DataTransferObject.Common.PNRPair() { BPNR = _associatePNR == "" ? "" : _associatePNR.Split('|')[0], PNR = _associatePNR == "" ? "" : (_associatePNR.Split('|').Count() < 2 ? "" : _associatePNR.Split('|')[1]) }, flights, _contact); var orderInfo = Service.OrderProcessService.ProduceOrder(orderView, _matchedPolicy, Employee, Guid.Empty, false); str.AppendFormat("<id>{0}</id>", orderInfo.Id); str.AppendFormat("<officeNo>{0}</officeNo>", _matchedPolicy.OriginalPolicy == null && _matchedPolicy.NeedAUTH ? _matchedPolicy.OfficeNumber : (_matchedPolicy.OriginalPolicy != null && _matchedPolicy.OriginalPolicy.NeedAUTH ? _matchedPolicy.OriginalPolicy.OfficeCode : "")); str.AppendFormat("<payable>{0}</payable>", _matchedPolicy.ConfirmResource ? 0 : 1); str.Append(QueryOrder.GetOrder(orderInfo)); //str.Append("<order><title>"); //str.AppendFormat("<id>{0}</id>", orderInfo.Id); //str.AppendFormat("<status>{0}</status>", (int)orderInfo.Status); //str.AppendFormat("<statusDescription>{0}</statusDescription>", orderInfo.Status.GetDescription()); //str.AppendFormat("<product>{0}</product>", (int)orderInfo.Product.ProductType); //str.AppendFormat("<ticket>{0}</ticket>", (int)orderInfo.Product.TicketType); //str.AppendFormat("<associatePNR>{0}</associatePNR>", orderInfo.AssociatePNR == null ? "" : orderInfo.AssociatePNR.BPNR + "|" + orderInfo.AssociatePNR.PNR); //str.AppendFormat("<rebate>{0}</rebate>", orderInfo.Purchaser.Rebate); //str.AppendFormat("<commission>{0}</commission>", orderInfo.Purchaser.Commission); //str.AppendFormat("<amount>{0}</amount>", orderInfo.Purchaser.Amount); //str.AppendFormat("<producedTime>{0}</producedTime>", orderInfo.Purchaser.ProducedTime); //str.AppendFormat("<payTime>{0}</payTime>", orderInfo.Bill.PayBill.Purchaser.Time); //str.AppendFormat("<etdzTime>{0}</etdzTime>", orderInfo.ETDZTime); //str.Append("</title>"); //str.Append("<pnrs>"); //foreach (var pnr in orderInfo.PNRInfos) //{ // str.Append("<pnr>"); str.AppendFormat("<code>{0}</code>", pnr.Code == null ? "" : pnr.Code.BPNR + "|" + pnr.Code.PNR); // str.Append("<passengers>"); // foreach (var person in pnr.Passengers) // { // str.AppendFormat("<p><name>{0}</name><type>{1}</type><credentitals>{2}</credentitals><mobile>{3}</mobile><settleCode>{4}</settleCode><tickets>{5}</tickets></p>", person.Name, (int)person.PassengerType, person.Credentials, person.Phone, person.Tickets.FirstOrDefault().SettleCode, person.Tickets.Join("|", num => num.No)); // } // str.Append("</passengers>"); // str.Append("<flights>"); // foreach (var filght in pnr.Flights) // { // str.AppendFormat("<f><departure>{0}</departure><arrival>{1}</arrival><airline>{2}</airline><flightNo>{3}</flightNo><aircraft>{11}</aircraft><takeoffTime>{4}</takeoffTime><arrivalTime>{5}</arrivalTime><bunk>{6}</bunk><fare>{7}</fare><discount>{8}</discount><airportFee>{9}</airportFee><baf>{10}</baf></f>", filght.Departure.Code + "|" + filght.Departure.City, filght.Arrival.Code + "|" + filght.Arrival.City, filght.Carrier.Code + "|" + filght.Carrier.Name, filght.FlightNo, filght.TakeoffTime, filght.LandingTime, filght.Bunk.Code, filght.Price.Fare, filght.Bunk.Discount, filght.AirportFee, filght.BAF, filght.AirCraft); // } // str.Append("</flights>"); // str.Append("</pnr>"); //} //str.Append("</pnrs>"); //str.Append("<bills>"); //if (orderInfo.Bill.PayBill != null) //{//支付 // str.Append("<b>"); // str.AppendFormat("<type>1</type>"); // str.AppendFormat("<amount>{0}</amount>", orderInfo.Bill.PayBill.Purchaser.Amount); // str.AppendFormat("<tradeNo>{0}</tradeNo>", orderInfo.Bill.PayBill.Tradement.TradeNo); // str.AppendFormat("<time>{0}</time>", orderInfo.Bill.PayBill.Purchaser.Time); // str.Append("</b>"); //} //if (orderInfo.Bill.NormalRefundBills != null) //{//退款 // foreach (var item in orderInfo.Bill.NormalRefundBills) // { // str.Append("<b>"); // str.AppendFormat("<type>2</type>"); // str.AppendFormat("<amount>{0}</amount>", item.Tradement.Amount); // str.AppendFormat("<tradeNo>{0}</tradeNo>", item.Tradement.TradeNo); // str.AppendFormat("<time>{0}</time>", item.Purchaser.Time); // str.Append("</b>"); // } //} //if (orderInfo.Bill.PostponePayBills != null) //{//支付 // foreach (var item in orderInfo.Bill.PostponePayBills) // { // str.Append("<b>"); // str.AppendFormat("<type>1</type>"); // str.AppendFormat("<amount>{0}</amount>", item.Tradement.Amount); // str.AppendFormat("<tradeNo>{0}</tradeNo>", item.Tradement.TradeNo); // str.AppendFormat("<time>{0}</time>", item.Applier.Time); // str.Append("</b>"); // } //} //if (orderInfo.Bill.PostponeRefundBills != null) //{//退款 // foreach (var item in orderInfo.Bill.PostponeRefundBills) // { // str.Append("<b>"); // str.AppendFormat("<type>2</type>"); // str.AppendFormat("<amount>{0}</amount>", item.Tradement.Amount); // str.AppendFormat("<tradeNo>{0}</tradeNo>", item.Tradement.TradeNo); // str.AppendFormat("<time>{0}</time>", item.Applier.Time); // str.Append("</b>"); // } //} //str.Append("</bills></order>"); //清空缓存 ContextCenter.Instance.Remove(_orgbatchNo); return(str.ToString()); }
public XmlDocument QueryOrder(string id, string userName, string sign) { var processor = new InterfaceProcessor.QueryOrder(id, userName, sign); return(processor.Execute()); }