コード例 #1
0
 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();
 }
コード例 #2
0
ファイル: QueryFlight.cs プロジェクト: 842549829/Pool
        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);
        }
コード例 #3
0
ファイル: QueryFlight.cs プロジェクト: 842549829/Pool
 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));
 }