flight fare calculation
unknown
csharp
3 years ago
2.2 kB
11
Indexable
private FlightPrebookAddBookOrderViewModel PrepareFlightFares(FlightPrebookAddBookOrderViewModel request)
{
var adtCount = request.Travelers.Select(x => x.PassengerTypeCode == "ADT").Count();
var chdCount = request.Travelers.Select(x => x.PassengerTypeCode == "CHD").Count();
var infCount = request.Travelers.Select(x => x.PassengerTypeCode == "INF").Count();
foreach (var flight in request.Plan.Flights)
{
// ADT
// flight.Fares.AdtFare.BaseFare = flight.Fares.AdtFare.BaseFare * adtCount;
// flight.Fares.AdtFare.Tax = flight.Fares.AdtFare.Tax * adtCount;
// flight.Fares.AdtFare.TaxVQ = flight.Fares.AdtFare.TaxVQ * adtCount;
flight.Fares.AdtFare.TotalFare = flight.Fares.AdtFare.TotalFare * adtCount;
flight.Fares.AdtFare.MilePrice = flight.Fares.AdtFare.MilePrice * adtCount;
// CHD
// flight.Fares.ChdFare.BaseFare = flight.Fares.ChdFare.BaseFare * chdCount;
// flight.Fares.ChdFare.Tax = flight.Fares.ChdFare.Tax * chdCount;
// flight.Fares.ChdFare.TaxVQ = flight.Fares.ChdFare.TaxVQ * chdCount;
flight.Fares.ChdFare.TotalFare = flight.Fares.ChdFare.TotalFare * chdCount;
flight.Fares.ChdFare.MilePrice = flight.Fares.ChdFare.MilePrice * chdCount;
//INF
// flight.Fares.InfFare.BaseFare = flight.Fares.InfFare.BaseFare * infCount;
// flight.Fares.InfFare.Tax = flight.Fares.InfFare.Tax * infCount;
// flight.Fares.InfFare.TaxVQ = flight.Fares.InfFare.TaxVQ * infCount;
flight.Fares.InfFare.TotalFare = flight.Fares.InfFare.TotalFare * infCount;
flight.Fares.InfFare.MilePrice = flight.Fares.InfFare.MilePrice * infCount;
flight.Fares.Total = flight.Fares.AdtFare.TotalFare + flight.Fares.ChdFare.TotalFare + flight.Fares.InfFare.TotalFare;
flight.Fares.MilePrice = flight.Fares.AdtFare.MilePrice + flight.Fares.ChdFare.MilePrice + flight.Fares.InfFare.MilePrice;
}
return request;
}
Editor is loading...