Пример #1
0
        public string GetFareFamiliesNames()
        {
            if ((FareFamiliesDescriptions == null || !FareFamiliesDescriptions.Any()) ||
                (PriceBreakdown == null || !PriceBreakdown.Any()))
            {
                return(null);
            }

            var result = new StringBuilder();

            foreach (var price in PriceBreakdown)
            {
                var tariffs = price.PassengerTypePriceBreakdown.SelectMany(pf => pf.Tariffs).Cast <AirTariff>();
                foreach (var tariff in tariffs)
                {
                    var ffDescr = FareFamiliesDescriptions.Find(d => d.ID == tariff.FareFamilyDescID);
                    if (ffDescr != null)
                    {
                        result.Append(ffDescr.Name);
                    }
                    result.Append(';');
                }
            }

            return(result.ToString());
        }
Пример #2
0
 /// <summary>
 /// Получение эквивалентной стоимости для 1 пассажира определённого типа
 /// </summary>
 /// <param name="passengerID">ИД пассажира, для которого требуется получить стоимость</param>
 /// <returns>Стоимость для указанного пассажира. null если нет цены для такого пассажира</returns>
 public Money GetEquivePrice(int passengerID)
 {
     if (PriceBreakdown != null && PriceBreakdown.Any(pi => pi.PassengerTypePriceBreakdown != null && pi.PassengerTypePriceBreakdown.Any(pf => pf.IsLinkedToTraveller(passengerID))))
     {
         Money result = null;
         foreach (var price in PriceBreakdown.FindAll(pb => pb.PassengerTypePriceBreakdown != null && pb.PassengerTypePriceBreakdown.Any(pf => pf.IsLinkedToTraveller(passengerID))))
         {
             var passTypePrice = price.PassengerTypePriceBreakdown.Find(pf => pf.IsLinkedToTraveller(passengerID));
             if (result == null)
             {
                 result = passTypePrice.EquiveFare;
             }
             else
             {
                 result += passTypePrice.EquiveFare;
             }
         }
         return(result);
     }
     else
     {
         return(null);
     }
 }