示例#1
0
 /// <summary>
 /// 添加编码信息
 /// </summary>
 internal void AddPNRInfo(PNRInfo pnrInfo)
 {
     if (null == pnrInfo)
     {
         throw new ArgumentNullException("pnrInfo", "编码信息不能为空");
     }
     if (_pnrInfos.Exists(item => PNRPair.Equals(item.Code, pnrInfo.Code)))
     {
         throw new RepeatedItemException("不能重复加入同一编码");
     }
     _pnrInfos.Add(pnrInfo);
 }
示例#2
0
        /// <summary>
        /// 根据申请单修改订单内容
        /// </summary>
        internal void Update(BaseApplyform applyform)
        {
            var originalPNRInfo = this.PNRInfos.FirstOrDefault(item => PNRPair.Equals(item.Code, applyform.OriginalPNR));

            if (originalPNRInfo == null)
            {
                throw new CustomException("未找到原编码信息");
            }
            PNRInfo newPnrInfo = null;

            if (applyform is RefundOrScrapApplyform)
            {
                newPnrInfo = originalPNRInfo.UpdateContentForRefund(applyform as RefundOrScrapApplyform);
            }
            else if (applyform is PostponeApplyform)
            {
                newPnrInfo = originalPNRInfo.UpdateContentForPostpone(applyform as PostponeApplyform);
            }
            if (newPnrInfo != null)
            {
                AddPNRInfo(newPnrInfo);
            }
        }
示例#3
0
 internal PNRInfo GetPNRInfo(PNRPair pnrCode)
 {
     return(_pnrInfos.FirstOrDefault(item => PNRPair.Equals(item.Code, pnrCode)));
 }
示例#4
0
文件: PNRInfo.cs 项目: 842549829/Pool
 internal bool IsSamePNR(PNRPair pnr)
 {
     return(PNRPair.Equals(Code, pnr));
 }
示例#5
0
 bool requireCancelReservation()
 {
     return((!(this.Order.Product is SpeicalProductInfo) || ((this.Order.Product as SpeicalProductInfo).SpeicalProductType == SpecialProductType.CostFree && !this.Order.IsCustomerResource)) &&
            this.Order.Source == OrderSource.PlatformOrder &&
            PNRPair.Equals(this.Order.ReservationPNR, this.OriginalPNR));
 }