private void Refresh(string id) { ChinaPay.B3B.Service.Foundation.Domain.BasicPrice basicPrice = FoundationService.QueryBasicPriceNew(new Guid(id)); if (basicPrice == null) { return; } if (basicPrice.AirlineCode.Value != null) { this.ddlAirline.SelectedValue = basicPrice.AirlineCode.Value; } if (basicPrice.DepartureCode.Value != null) { this.drpDepartAirport.SelectedValue = basicPrice.DepartureCode.Value; } if (basicPrice.ArrivalCode.Value != null) { this.drpArriveAirport.SelectedValue = basicPrice.ArrivalCode.Value; } this.txtHbDate.Text = basicPrice.FlightDate.ToString("yyyy-MM-dd"); this.txtCpDate.Text = basicPrice.ETDZDate.ToString("yyyy-MM-dd"); this.txtPrice.Text = basicPrice.Price.ToString(); this.txtMileage.Text = basicPrice.Mileage.ToString(); }
private BunkInfo constructBunkView(Bunk bunk, MatchedPolicy policy, ChinaPay.B3B.Service.Foundation.Domain.BasicPrice price) { var result = new BunkInfo() { Policy = new ChinaPay.B3B.DataTransferObject.FlightQuery.PolicyView() { Id = policy.OriginalPolicy == null ? Guid.Empty : policy.OriginalPolicy.Id, Owner = policy.Provider, Type = policy.PolicyType, CustomerResource = false } }; result.ShowPrice = policy.ParValue != 0; if (policy.PolicyType == PolicyType.Special) { // 特殊票是单独处理的 var specialPolicy = policy.OriginalPolicy as DataTransferObject.Policy.SpecialPolicyInfo; result.Code = bunk == null ? string.Empty : bunk.Code; result.SeatCount = bunk == null ? specialPolicy.ResourceAmount : bunk.SeatCount; // 剩余位置数 从政策上获取 result.Fare = policy.ParValue.TrimInvaidZero(); // 票面价从政策上取 result.Rebate = string.Empty; // 无返点 result.Amount = policy.SettleAmount; result.Description = "特殊票"; result.BunkType = bunk == null ? new BunkType?() : bunk.Type; switch (specialPolicy.Type) { case SpecialProductType.Singleness: case SpecialProductType.Disperse: result.Policy.CustomerResource = true; break; case SpecialProductType.CostFree: result.Policy.CustomerResource = !specialPolicy.SynBlackScreen; result.ShowPrice = true; break; } } else { result.Code = bunk.Code; result.SeatCount = bunk.SeatCount; result.Fare = policy.ParValue.TrimInvaidZero(); result.Rebate = policy.Commission.TrimInvaidZero(); result.Amount = policy.SettleAmount; if (policy.PolicyType == PolicyType.Bargain && bunk is Service.FlightQuery.Domain.GeneralBunk) { result.Description = "特价票"; } else { if (bunk is Service.FlightQuery.Domain.FirstOrBusinessBunk) { result.Description = (bunk as Service.FlightQuery.Domain.FirstOrBusinessBunk).Description; } else if (bunk is Service.FlightQuery.Domain.EconomicBunk) { result.Description = "经济舱"; } else if (bunk is Service.FlightQuery.Domain.PromotionBunk) { result.Description = (bunk as Service.FlightQuery.Domain.PromotionBunk).Description; } else if (bunk is Service.FlightQuery.Domain.ProductionBunk) { result.Description = "往返产品"; } else { result.Description = string.Empty; } } result.BunkType = bunk.Type; } if (bunk != null && bunk is Service.FlightQuery.Domain.GeneralBunk) { result.Discount = ((bunk as Service.FlightQuery.Domain.GeneralBunk).Discount).TrimInvaidZero(); if (policy.PolicyType == PolicyType.Special) { result.RenderDiscount = price != null && policy.ParValue != 0 ? Math.Round(policy.ParValue / price.Price, 2).ToString() : string.Empty; } else { result.RenderDiscount = ((bunk as Service.FlightQuery.Domain.GeneralBunk).Discount).TrimInvaidZero(); } } else { result.RenderDiscount = result.Discount = string.Empty; } // 退改签规定 // 普通政策时,获取基础数据中普通舱位的退改签信息 // 其他情况,获取政策上的退改签信息 if ((policy.PolicyType == PolicyType.Normal || policy.PolicyType == PolicyType.NormalDefault || policy.PolicyType == PolicyType.OwnerDefault) && bunk is Service.FlightQuery.Domain.GeneralBunk) { result.EI = GetGeneralBunkRegulation(bunk); } else { if (policy.OriginalPolicy is DataTransferObject.Policy.IHasRegulation) { var regulation = policy.OriginalPolicy as DataTransferObject.Policy.IHasRegulation; result.EI = GetRegulation(regulation); } else { result.EI = string.Empty; } } result.SuportChild = bunk != null && bunk.SuportChild; return(result); }
private IEnumerable <BunkInfo> constructBunkView(MatchedBunk matchedBunk, ChinaPay.B3B.Service.Foundation.Domain.BasicPrice basicPrice) { return(from policy in matchedBunk.Policies where policy != null select constructBunkView(matchedBunk.OriginalBunk, policy, basicPrice)); }