Пример #1
0
        public bool IsAdjustedRevenueWithinCostOfFlight()
        {
            var totalRevenueFromPayingCustomers = _cashFlowCalculationService.CalculateTotalRevenueFromPayingCustomers();
            var costOfFlightToAirline           = _cashFlowCalculationService.CalculateTotalCostOfFlightToAirline();

            var discountedAmount = _cashFlowCalculationService.CalculateDiscountedAmountForPassengersOnFlight();
            var adjustedRevenue  = totalRevenueFromPayingCustomers - discountedAmount;

            return(adjustedRevenue > costOfFlightToAirline);
        }
Пример #2
0
        public Models.FlightSummary CreateFlightSummary()
        {
            var totalFlightDiscount                 = _cashFlowCalculationService.CalculateDiscountedAmountForPassengersOnFlight();
            var loyaltyPointsUsed                   = (int)totalFlightDiscount;
            var totalRevenueFromPayingCustomers     = _cashFlowCalculationService.CalculateTotalRevenueFromPayingCustomers();
            var costOfFlightToAirline               = _cashFlowCalculationService.CalculateTotalCostOfFlightToAirline();
            var isPassengersWithinSeatCountOnPlane  = _flightValidationService.IsPassengerCountOnAircraftAboveMaxSeats();
            var isAdjustedRevenueWithinCostOfFLight = _flightValidationService.IsAdjustedRevenueWithinCostOfFlight();

            return(new Models.FlightSummary()
            {
                Passengers = _passengerService.GetNumberOfPassengers(),
                GeneralPassengers = _passengerService.GetNumberOfGeneralPassengers(),
                AirlinePassengers = _passengerService.GetNumberOfAirlinePassengers(),
                LoyaltyPassengers = _passengerService.GetNumberOfLoyaltyPassengers(),
                Bags = _passengerService.GetPassengerBags(),
                LoyaltyPointsUsed = loyaltyPointsUsed,
                CostOfFlight = (int)costOfFlightToAirline,
                RevenueBeforeDiscounts = (int)_cashFlowCalculationService.CalculateTotalRevenue(),
                RevenueAfterDiscounts = (int)(totalRevenueFromPayingCustomers - totalFlightDiscount),
                CanFlightProceed = isPassengersWithinSeatCountOnPlane && isAdjustedRevenueWithinCostOfFLight
            });
        }