Example #1
0
 void setFlights(RefundOrScrapApplyformView refundOrScrapApplyformView)
 {
     if (refundOrScrapApplyformView.Items != null)
     {
         var pnrInfo = this.Order.PNRInfos.First(item => item.IsSamePNR(refundOrScrapApplyformView.PNR));
         foreach (var voyage in refundOrScrapApplyformView.Items)
         {
             if (voyage != null)
             {
                 var originalFlight = pnrInfo.Flights.FirstOrDefault(item => item.Id == voyage);
                 if (originalFlight == null)
                 {
                     throw new NotFoundException("原编码中不存在航段信息。");
                 }
                 var refundFlight = new RefundFlight()
                 {
                     OriginalFlight = originalFlight
                 };
                 this.AddFlight(refundFlight);
             }
         }
     }
     if (!this.Flights.Any())
     {
         throw new CustomException("缺少航段信息");
     }
 }
Example #2
0
 internal void AddFlight(RefundFlight flight)
 {
     if (flight == null)
     {
         throw new ArgumentNullException("flight");
     }
     if (flight.OriginalFlight == null)
     {
         throw new ArgumentNullException("flight.OriginalFlight");
     }
     if (_flights.Exists(item => item.OriginalFlight.Id == flight.OriginalFlight.Id || Flight.IsSameFlight(flight.OriginalFlight, item.OriginalFlight)))
     {
         throw new RepeatedItemException("不能重复添加相同航段");
     }
     _flights.Add(flight);
 }