/// <summary> /// Получение тарифа для определённого пассажира из брони /// </summary> /// <param name="passengerID">ИД пассажира в брони, для которого требуется получить тариф</param> /// <returns>Тариф для указанного пассажира</returns> public BaseTariff GetTariffForPassenger(int passengerID) { if (PriceBreakdown != null && PriceBreakdown.Count > 0) { var pricePart = PriceBreakdown.Find(pb => pb.PassengerTypePriceBreakdown != null && pb.PassengerTypePriceBreakdown.Any(ptc => ptc.IsLinkedToTraveller(passengerID))); if (pricePart != null) { return(pricePart.PassengerTypePriceBreakdown.Find(ptc => ptc.IsLinkedToTraveller(passengerID)).Tariffs[0]); } } return(null); }
/// <summary> /// Получение тарифа для определённого сегмента услуги, в случае если подобная привязка допустима /// </summary> /// <param name="segmentID">ИД сегмента в услуге, для которого требуется получить тариф</param> /// <returns>Тариф для указанной услуги</returns> public BaseTariff GetTariffForSegment(int segmentID) { if (PriceBreakdown != null && PriceBreakdown.Count > 0) { var pricePart = PriceBreakdown.Find(pb => pb.IsLinkedToSegment(segmentID)); if (pricePart != null) { if (pricePart.PassengerTypePriceBreakdown != null && pricePart.PassengerTypePriceBreakdown.Count > 0) { return(pricePart.PassengerTypePriceBreakdown[0].GetTariffForSegment(segmentID)); } } } return(null); }
/// <summary> /// Получение тарифа для определённого сегмента услуги, в случае если подобная привязка допустима /// </summary> /// <param name="segmentID">ИД сегмента в услуге, для которого требуется получить тариф</param> /// <returns>Тариф для указанной услуги</returns> public BaseTariff GetTariffForSegment(int segmentID) { var pricePart = PriceBreakdown.Find(pb => pb.IsLinkedToSegment(segmentID)); if (pricePart != null) { if (pricePart.PassengerTypePriceBreakdown != null) { foreach (var passTypePriceBreakdown in pricePart.PassengerTypePriceBreakdown) { var airTariff = passTypePriceBreakdown.GetTariffForSegment(segmentID); if (airTariff != null) { return(airTariff); } } } } return(null); }