Exemplo n.º 1
0
        public void ProcessInvice(CarRental carRental)
        {
            TimeSpan duration     = carRental.Finish.Subtract(carRental.Start);
            double   basicPayment = 0.0;

            if (duration.TotalHours <= 12.0)
            {
                basicPayment = PricePerHour * Math.Ceiling(duration.TotalHours);
            }
            else
            {
                basicPayment = PricePerDay * Math.Ceiling(duration.TotalDays);
            }

            double tax = _taxServices.Tax(basicPayment);

            carRental.Invoice = new Invoice(basicPayment, tax);
        }